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

Re: dpkg should support a --force-unsafe-io option or such


On trečiadienis 02 Birželis 2010 20:14:38 LaMont Jones wrote:
> With the introduction of fsync() calls to protect data, applications
> that do potentially large apt-get install invocations may not want
> to incur the penalty of fsync() calls from dpkg.
> In the case of building a livecd, this can be the difference between
> a 10 minute apt invocation, and 21 minutes.
> The use cases where --force-unsafe-io would make sense are those
> where apt is modifiying an underlying (possibly empty) base chroot
> and the results will be thrown away before the next apt invocation
> such that a crash just means "start from the known good base".  The
> two that jump to mind are:
>   1. livecd builds
>   2. buildd chroots where we are using lvm snapshots (or pbuilder or
>      whatever) and will be discarding the resulting chroot upon either
>      completion or machine reboot).
> Obviously, we want the default to be safe, and the option name to be
> scary enough that end users don't think it's a good option to use in
> daily life.  I spoke with Colin Watson, and he suggested the option
> be called --force-unsafe-io.

Has there been any progress on this?

The problem is that not only dpkg takes longer, but there might be real world 
costs involved due to this uber-paranoid dpkg behaviour. I've been installing 
squeeze to microsd card (on guruplug) and debian installer has tortured 
(literally) my card for 45+ minutes at the stage of unpacking base system. I'm 
really concerned that at such a pace I will have to throw away my card very 
soon due to wear level.

It does not make much sense for dpkg to be in this uber-paranoid mode at 
debian-installer time. If power fails, install process will probably have to 
be started from scratch anyway. What's more, obviously I have no choice to use 
libeatmydata or similar to fight this dpkg behaviour at debian installer time.

In my opinion, dpkg should provide a way to turn off those offensive *sync() 
calls and debian installer should make use of it.

Modestas Vainius <modestas@vainius.eu>

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply to: