FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian dpkg

 
 
LinkBack Thread Tools
 
Old 12-20-2010, 01:32 AM
Guillem Jover
 
Default Accepted dpkg 1.15.8.7 (source all amd64)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Mon, 20 Dec 2010 02:26:26 +0100
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source amd64 all
Version: 1.15.8.7
Distribution: unstable
Urgency: low
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
Description:
dpkg - Debian package management system
dpkg-dev - Debian package development tools
dselect - Debian package management front-end
libdpkg-dev - Debian package management static library
libdpkg-perl - Dpkg perl modules
Closes: 605009 605099 605248 605506 605536 606315 607253 607259 607292 607302 607306 607437 607501
Changes:
dpkg (1.15.8.7) unstable; urgency=low
.
[ Guillem Jover ]
* Defer symlink renames so that there's never a point were a symlink
is broken, this is particularly important for shared libraries.
Closes: #605536
* On Linux use sync_file_range() to initiate asynchronous writeback
of just unpacked files. Suggested by Ted Ts'o <tytso@mit.edu>.
Thanks to Jonathan Nieder <jrnieder@gmail.com>. Closes: #605009
* On non-Linux use posix_fadvise(POSIX_FADV_DONTNEED) to notify the kernel
dpkg does not need the unpacked files any longer, and that it can start
writeback to be able to evict them from the cache at a later point.
* Fix stanza delimiting on -L, -s and -p output. This was making the output
for multiple packages unrealiable to parse. Closes: #606315
.
[ Updated dpkg translations ]
* Basque (Iñaki Larrañaga Murgoitio). Closes: #607253
* Catalan (Guillem Jover).
* Czech (Miroslav Kure). Closes: #605099
* Esperanto (Felipe E. F. de Castro). Closes: #607437
* French (Christian Perrier).
* German (Sven Joachim).
* Indonesian (Arief S Fitrianto). Closes: #605248
* Italian (Milo Casagrande). Closes: #607306
* Japanese (Kenshi Muto). Closes: #607259
* Norwegian Bokmål (Hans Fredrik Nordhaug).
* Portuguese (Miguel Figueiredo). Closes: #605506
* Russian (Yuri Kozlov). Closes: #607292
* Simplified Chinese (Aron Xu).
* Slovak (Ivan Masár). Closes: #607302
* Spanish (Javier Fernandez-Sanguino).
* Thai (Theppitak Karoonboonyanan). Closes: #607501
.
[ Updated man page translations ]
* French (Christian Perrier).
* German (Helge Kreutzmann).
* Spanish (Omar Campagne).
.
[ Updated dselect translations ]
* Spanish (Javier Fernandez-Sanguino).
.
[ Updated scripts translations ]
* German (fix by Sven Joachim).
* Spanish (Javier Fernandez-Sanguino).
Checksums-Sha1:
d53e3f1156b59503e2f786a7b8214dcbd9b29c4f 1208 dpkg_1.15.8.7.dsc
c11aefddda4ebc8a78171343a201495fe64e1837 5251036 dpkg_1.15.8.7.tar.bz2
b7587044f347f88521cb5f2df026f722175d73b7 430924 libdpkg-dev_1.15.8.7_amd64.deb
c381b706eff13f6a97ec161462d058c4142ba5f5 2391526 dpkg_1.15.8.7_amd64.deb
e62bc3b332a292f8f5f1838ac4706c7e57ffffd5 898796 dselect_1.15.8.7_amd64.deb
30bb5e7b4a49b830b161aa356bb116b1b1df5cb9 805800 dpkg-dev_1.15.8.7_all.deb
64657a7f4939f5aaf34b1c0d2564aeacdaa3b398 687168 libdpkg-perl_1.15.8.7_all.deb
Checksums-Sha256:
1451e2109b445665340f57e4aad269f3a0838bd4415d016ab5 b89f999550a69f 1208 dpkg_1.15.8.7.dsc
1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c5 3ced8ea94267b5 5251036 dpkg_1.15.8.7.tar.bz2
62351dc3823dc0f8b00348beebc9ea1feaf82db53f194d6105 c5bd4781a8f557 430924 libdpkg-dev_1.15.8.7_amd64.deb
8c711eebc3decb5ffaa4e184baa985b635a86fc0399f72e424 004ab84414c943 2391526 dpkg_1.15.8.7_amd64.deb
f39b3324b5841cb2d20fb6ebd1ea9a1264823bfb345afacace 8dc25bdb6a12e2 898796 dselect_1.15.8.7_amd64.deb
b28fab3670bab1f3e0aedb01b50b2ed33a1380f5f5d9608657 a96be1411f073d 805800 dpkg-dev_1.15.8.7_all.deb
54e050449f21daf6842f08bbd3fdbf07b82d6328070aab87c7 75e6765123b8c3 687168 libdpkg-perl_1.15.8.7_all.deb
Files:
a1734a4024208e967710c5232b0307a7 1208 admin required dpkg_1.15.8.7.dsc
d1731d4147c1ea3b537a4d094519a6dc 5251036 admin required dpkg_1.15.8.7.tar.bz2
ca98309242298799c56f70c4216da84e 430924 libdevel optional libdpkg-dev_1.15.8.7_amd64.deb
29aa8a1e4fe70cb4033529518c10f617 2391526 admin required dpkg_1.15.8.7_amd64.deb
d2d0d56e446a6bc9e1c35ac3ba67a7e9 898796 admin optional dselect_1.15.8.7_amd64.deb
89ad9bfd49f6e9633a00d9213efbd691 805800 utils optional dpkg-dev_1.15.8.7_all.deb
67287ec82679e9d1ee1106a6d7229079 687168 perl optional libdpkg-perl_1.15.8.7_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAk0Ot60ACgkQuW9ciZ2SjJvH2gCggmtKzf7f4h pQKXU7ZTWoGLIL
3xwAnjkyz5teXZQsZRlzGgsYaDLHrZyZ
=GPh1
-----END PGP SIGNATURE-----


Accepted:
dpkg-dev_1.15.8.7_all.deb
to main/d/dpkg/dpkg-dev_1.15.8.7_all.deb
dpkg_1.15.8.7.dsc
to main/d/dpkg/dpkg_1.15.8.7.dsc
dpkg_1.15.8.7.tar.bz2
to main/d/dpkg/dpkg_1.15.8.7.tar.bz2
dpkg_1.15.8.7_amd64.deb
to main/d/dpkg/dpkg_1.15.8.7_amd64.deb
dselect_1.15.8.7_amd64.deb
to main/d/dpkg/dselect_1.15.8.7_amd64.deb
libdpkg-dev_1.15.8.7_amd64.deb
to main/d/dpkg/libdpkg-dev_1.15.8.7_amd64.deb
libdpkg-perl_1.15.8.7_all.deb
to main/d/dpkg/libdpkg-perl_1.15.8.7_all.deb



--
To UNSUBSCRIBE, email to debian-dpkg-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: E1PUVXt-0004jc-5X@franck.debian.org">http://lists.debian.org/E1PUVXt-0004jc-5X@franck.debian.org
 
Old 12-29-2010, 02:32 PM
Julien Cristau
 
Default Accepted dpkg 1.15.8.7 (source all amd64)

On Mon, Dec 20, 2010 at 02:32:17 +0000, Guillem Jover wrote:

> * On Linux use sync_file_range() to initiate asynchronous writeback
> of just unpacked files. Suggested by Ted Ts'o <tytso@mit.edu>.
> Thanks to Jonathan Nieder <jrnieder@gmail.com>. Closes: #605009
> * On non-Linux use posix_fadvise(POSIX_FADV_DONTNEED) to notify the kernel
> dpkg does not need the unpacked files any longer, and that it can start
> writeback to be able to evict them from the cache at a later point.

You're ignoring the return value of sync_file_range (and posix_fadvise).
While that may be ok for SYNC_FILE_RANGE_WRITE, I don't think it is for
SYNC_FILE_RANGE_WAIT_BEFORE.

Cheers,
Julien
 
Old 12-29-2010, 03:58 PM
Raphael Hertzog
 
Default Accepted dpkg 1.15.8.7 (source all amd64)

Hi Julien,

On Wed, 29 Dec 2010, Julien Cristau wrote:
> On Mon, Dec 20, 2010 at 02:32:17 +0000, Guillem Jover wrote:
>
> > * On Linux use sync_file_range() to initiate asynchronous writeback
> > of just unpacked files. Suggested by Ted Ts'o <tytso@mit.edu>.
> > Thanks to Jonathan Nieder <jrnieder@gmail.com>. Closes: #605009
> > * On non-Linux use posix_fadvise(POSIX_FADV_DONTNEED) to notify the kernel
> > dpkg does not need the unpacked files any longer, and that it can start
> > writeback to be able to evict them from the cache at a later point.
>
> You're ignoring the return value of sync_file_range (and posix_fadvise).
> While that may be ok for SYNC_FILE_RANGE_WRITE, I don't think it is for
> SYNC_FILE_RANGE_WAIT_BEFORE.

It is ok since fsync() is still called afterwards. Both are only useful
to avoid the speed-penalty that fsync() was giving us, but fsync() is
still executed (and is usualy a no-op since the work has already been done
thanks to the sync_file_range calls).

Cheers,
--
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News â–¶ http://RaphaelHertzog.com (English)
▶ http://RaphaelHertzog.fr (Français)


--
To UNSUBSCRIBE, email to debian-dpkg-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20101229165841.GC18137@rivendell.home.ouaza.com">h ttp://lists.debian.org/20101229165841.GC18137@rivendell.home.ouaza.com
 
Old 12-29-2010, 06:04 PM
Guillem Jover
 
Default Accepted dpkg 1.15.8.7 (source all amd64)

Hi!

On Wed, 2010-12-29 at 17:58:41 +0100, Raphael Hertzog wrote:
> On Wed, 29 Dec 2010, Julien Cristau wrote:
> > On Mon, Dec 20, 2010 at 02:32:17 +0000, Guillem Jover wrote:
> > > * On Linux use sync_file_range() to initiate asynchronous writeback
> > > of just unpacked files. Suggested by Ted Ts'o <tytso@mit.edu>.
> > > Thanks to Jonathan Nieder <jrnieder@gmail.com>. Closes: #605009
> > > * On non-Linux use posix_fadvise(POSIX_FADV_DONTNEED) to notify the kernel
> > > dpkg does not need the unpacked files any longer, and that it can start
> > > writeback to be able to evict them from the cache at a later point.
> >
> > You're ignoring the return value of sync_file_range (and posix_fadvise).
> > While that may be ok for SYNC_FILE_RANGE_WRITE, I don't think it is for
> > SYNC_FILE_RANGE_WAIT_BEFORE.
>
> It is ok since fsync() is still called afterwards. Both are only useful
> to avoid the speed-penalty that fsync() was giving us, but fsync() is
> still executed (and is usualy a no-op since the work has already been done
> thanks to the sync_file_range calls).

Exactly, and although SYNC_FILE_RANGE_WAIT_BEFORE can return with EIO
or ENOSPC, if that would happen the pages would not have been flushed
and would still be dirty, and fsync() would go over them again.

So while we could fail earlier, this is not really an issue, and it
might actually give some time in some cases (ENOSPC particularly) for
the system to get to a state were no failure migt occur, which seems
better to me.

This was done on purpose, as those actions should be considered
equivalent to asynchronous hints for the kernel from dpkg's code PoV.

thanks,
guillem


--
To UNSUBSCRIBE, email to debian-dpkg-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20101229190454.GA6545@gaara.hadrons.org">http://lists.debian.org/20101229190454.GA6545@gaara.hadrons.org
 
Old 03-11-2011, 09:09 AM
Sven Mueller
 
Default Accepted dpkg 1.15.8.7 (source all amd64)

Am 29.12.2010 20:04, schrieb Guillem Jover:
> Hi!
>
> On Wed, 2010-12-29 at 17:58:41 +0100, Raphael Hertzog wrote:
>> On Wed, 29 Dec 2010, Julien Cristau wrote:
>>
>>> You're ignoring the return value of sync_file_range (and posix_fadvise).
>>> While that may be ok for SYNC_FILE_RANGE_WRITE, I don't think it is for
>>> SYNC_FILE_RANGE_WAIT_BEFORE.
>>
>> It is ok since fsync() is still called afterwards. Both are only useful
>> to avoid the speed-penalty that fsync() was giving us, but fsync() is
>> still executed (and is usualy a no-op since the work has already been done
>> thanks to the sync_file_range calls).
>
> Exactly, and although SYNC_FILE_RANGE_WAIT_BEFORE can return with EIO
> or ENOSPC, if that would happen the pages would not have been flushed
> and would still be dirty, and fsync() would go over them again.
>
[...]
>
> This was done on purpose, as those actions should be considered
> equivalent to asynchronous hints for the kernel from dpkg's code PoV.

Forgive me if this was already done, but should this be documented in
the code? I mean something like "We are ignoring the return value of
SYNC_FILE_RANGE_WAIT_BEFORE on purpose since we call fsync() later on
anyhow." near the SYNC_FILE... call and a "don't remove the fsync call
unless you check the SYNC_FILE_.... system call return values" near the
fsync call.
In other words: Add comments why you do it the way you do it. Don't
bother with comments that explain what you do.

;-)

regards,
Sv<just stumbled over this discussion>en


--
To UNSUBSCRIBE, email to debian-dpkg-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4D79F4C3.7040006@debian.org">http://lists.debian.org/4D79F4C3.7040006@debian.org
 
Old 03-14-2011, 05:35 AM
Guillem Jover
 
Default Accepted dpkg 1.15.8.7 (source all amd64)

Hi!

On Fri, 2011-03-11 at 11:09:07 +0100, Sven Mueller wrote:
> Am 29.12.2010 20:04, schrieb Guillem Jover:
> > On Wed, 2010-12-29 at 17:58:41 +0100, Raphael Hertzog wrote:
> >> It is ok since fsync() is still called afterwards. Both are only useful
> >> to avoid the speed-penalty that fsync() was giving us, but fsync() is
> >> still executed (and is usualy a no-op since the work has already been done
> >> thanks to the sync_file_range calls).
> >
> > Exactly, and although SYNC_FILE_RANGE_WAIT_BEFORE can return with EIO
> > or ENOSPC, if that would happen the pages would not have been flushed
> > and would still be dirty, and fsync() would go over them again.
> >
> [...]
> >
> > This was done on purpose, as those actions should be considered
> > equivalent to asynchronous hints for the kernel from dpkg's code PoV.
>
> Forgive me if this was already done, but should this be documented in
> the code? I mean something like "We are ignoring the return value of
> SYNC_FILE_RANGE_WAIT_BEFORE on purpose since we call fsync() later on
> anyhow." near the SYNC_FILE... call and a "don't remove the fsync call
> unless you check the SYNC_FILE_.... system call return values" near the
> fsync call.
> In other words: Add comments why you do it the way you do it. Don't
> bother with comments that explain what you do.

I've added now some comments around the writeback code explaining this:

<http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=a468c108>

thanks,
guillem


--
To UNSUBSCRIBE, email to debian-dpkg-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20110314063526.GA30554@gaara.hadrons.org">http://lists.debian.org/20110314063526.GA30554@gaara.hadrons.org
 

Thread Tools




All times are GMT. The time now is 04:17 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org