[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#605009: serious performance regression with ext4



On Fri, Nov 26, 2010 at 03:53:27PM +0100, Raphael Hertzog wrote:
> But right now from the point of view of dpkg maintainers, this bug is a
> "wontfix" at our level.
> 
> Just to sum up what dpkg --unpack does in 1.15.8.6:
> 1/ set the package status as half-installed/reinst-required
> 2/ extract all the new files as *.dpkg-new
> 3/ for all the unpacked files: fsync(foo.dpkg-new) followed by
>    rename(foo.dpkg-new, foo)
> 4/ set the package status as unpacked
> 
> Note that the directories are not fsynced() because we mainly don't care
> if the rename is recorded or not, as long as the installed file always has
> the content of either the old or the new file. This could be fixed but is
> unlikely to help in getting better performances I guess.
> 
> The only thing we want to achieve is that:
> - when the package is set to unpacked status, all changes have been
>   committed
> - when the process is abruptly interrupted, we don't leave corrupted files
>   around (like unwanted empty files)

How about dpkg doesn't care, like it used to, *except* for really
important packages (say, essential ones, or priority important, or
whatever). Since apparently the whole avoid empty files thing is much
more important for libc than it is for iceweasel, when for one your
system is hosed and for the other, you have everything required to
repair. We could even provide an autorepair tool that could e.g. use
debsums to check installed files and reinstall hosed packages.

Mike


Reply to: