Debian Bug report logs -
#584254
dpkg should support a --force-unsafe-io option or such
Reported by: LaMont Jones <lamont@debian.org>
Date: Wed, 2 Jun 2010 17:27:01 UTC
Severity: normal
Merged with 588254
Found in versions dpkg/1.15.6, dpkg/1.15.7.2
Fixed in version dpkg/1.15.8.6
Done: Guillem Jover <guillem@debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 02 Jun 2010 17:27:04 GMT) (full text, mbox, link).
Acknowledgement sent
to LaMont Jones <lamont@debian.org>:
New Bug report received and forwarded. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 02 Jun 2010 17:27:05 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: dpkg
Version: 1.15.6
Severity: normal
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.
thanks,
lamont
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 02 Jun 2010 18:33:09 GMT) (full text, mbox, link).
Acknowledgement sent
to Jonathan Nieder <jrnieder@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 02 Jun 2010 18:33:09 GMT) (full text, mbox, link).
Message #10 received at 584254@bugs.debian.org (full text, mbox, reply):
Hi LaMont,
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.
Makes sense.
> 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".
As a hackish workaround, it would be nice to get libeatmydata into
Debian (see <http://bugs.debian.org/512588>). That would prevent
fsync() calls in maintainer scripts, too. Of course a
--force-unsafe-io option is probably better, since among other things
it expresses the intent more clearly.
Regards,
Jonathan
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 02 Jun 2010 19:12:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 02 Jun 2010 19:12:03 GMT) (full text, mbox, link).
Message #15 received at 584254@bugs.debian.org (full text, mbox, reply):
On Wed, 2010-06-02 at 11:14:38 -0600, LaMont Jones wrote:
> Package: dpkg
> Version: 1.15.6
> Severity: normal
>
> 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.
Right, that's what we discussed with Colin at some point, as a last
resort "solution", but I added support for using sync() instead of
fsync() on Linux to avoid the massive slow down. Have you tested
1.15.7.2 (which includes that change), and do the performance issues
persist there. We actually got pretty good results from several testers
on ext4, so if there's no need I'd just avoid adding such option.
thanks,
guillem
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 02 Jun 2010 19:39:10 GMT) (full text, mbox, link).
Acknowledgement sent
to Jonathan Nieder <jrnieder@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 02 Jun 2010 19:39:10 GMT) (full text, mbox, link).
Message #20 received at 584254@bugs.debian.org (full text, mbox, reply):
Guillem Jover wrote:
> Have you tested
> 1.15.7.2 (which includes that change), and do the performance issues
> persist there. We actually got pretty good results from several testers
> on ext4
Right, though still significantly (about 20%) worse in some cases than
without any fsync[1]. So I can imagine why a person might still want
to disable it where the sync does not buy anything.
Jonathan
[1] http://bugs.debian.org/578635
Merged 584254 588254.
Request was from Jonathan Nieder <jrnieder@gmail.com>
to control@bugs.debian.org.
(Tue, 06 Jul 2010 15:42:04 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Sat, 09 Oct 2010 00:00:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Modestas Vainius <modax@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Sat, 09 Oct 2010 00:00:03 GMT) (full text, mbox, link).
Message #27 received at 584254@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Hello,
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>
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Sat, 09 Oct 2010 22:09:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Otavio Salvador <otavio@ossystems.com.br>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Sat, 09 Oct 2010 22:09:03 GMT) (full text, mbox, link).
Message #32 received at 584254@bugs.debian.org (full text, mbox, reply):
Hello,
On Fri, Oct 8, 2010 at 8:55 PM, Modestas Vainius <modax@debian.org> wrote:
...
> 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.
I fully agree that d-i doesn't need and shouldn't use it by default.
In fact some embedded systems shouldn't use it either in production
mode if the media suffer of wearing.
As previously said in this thread, d-i needs to be restarted in case
of power outage or something broken and fsync won't help on that
except make it taking longer.
--
Otavio Salvador O.S. Systems
E-mail: otavio@ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Sun, 10 Oct 2010 09:39:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Modestas Vainius <modax@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Sun, 10 Oct 2010 09:39:03 GMT) (full text, mbox, link).
Message #37 received at 584254@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Hello,
On sekmadienis 10 Spalis 2010 01:06:41 Otavio Salvador wrote:
> On Fri, Oct 8, 2010 at 8:55 PM, Modestas Vainius <modax@debian.org> wrote:
> ...
>
> > 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.
>
> I fully agree that d-i doesn't need and shouldn't use it by default.
> In fact some embedded systems shouldn't use it either in production
> mode if the media suffer of wearing.
>
> As previously said in this thread, d-i needs to be restarted in case
> of power outage or something broken and fsync won't help on that
> except make it taking longer.
I feel rather strong about this issue because I keep running and running into
it in different situations. I truly believe that it should be high priority
for squeeze but I won't bump severity myself. To sum up:
1) current dpkg is bog slow on modern file systems (brtfs, ext4). What is
more, due to frequent sync() calls, it is a very bad idea to run dpkg when
other unrelated disk I/O (esp. on modern FSes) is in the background. It just
slows everything down.
2) current dpkg is arguably not suitable for flash media (i.e. embedded
devices). This hurts the "universal" part of Debian OS.
3) dpkg is pointlessly slow in such use cases as buildds where *sync() is not
important at all.
4) while typical dpkg could be work arounded with libeatmydata, there is no
cure for debian-installer.
And all this is to protect against power failure? Sure, the purpose is noble
and maybe it's a good default but due to negative side effects I find it
unacceptable that this behaviour is not configurable.
--
Modestas Vainius <modax@debian.org>
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Sun, 10 Oct 2010 12:24:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Sun, 10 Oct 2010 12:24:05 GMT) (full text, mbox, link).
Message #42 received at 584254@bugs.debian.org (full text, mbox, reply):
Hi!
On Sun, 2010-10-10 at 12:37:27 +0300, Modestas Vainius wrote:
> On sekmadienis 10 Spalis 2010 01:06:41 Otavio Salvador wrote:
> > On Fri, Oct 8, 2010 at 8:55 PM, Modestas Vainius <modax@debian.org> wrote:
> > > 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.
> >
> > I fully agree that d-i doesn't need and shouldn't use it by default.
> > In fact some embedded systems shouldn't use it either in production
> > mode if the media suffer of wearing.
> >
> > As previously said in this thread, d-i needs to be restarted in case
> > of power outage or something broken and fsync won't help on that
> > except make it taking longer.
>
> I feel rather strong about this issue because I keep running and running into
> it in different situations. I truly believe that it should be high priority
> for squeeze but I won't bump severity myself. To sum up:
I had planned to include changes for this for squeeze, but then the
sudden freeze happened, and after the initial reaction from the
release team on the first exception request I didn't feel like begging
for this and other changes.
> 1) current dpkg is bog slow on modern file systems (brtfs, ext4). What is
> more, due to frequent sync() calls, it is a very bad idea to run dpkg when
> other unrelated disk I/O (esp. on modern FSes) is in the background. It just
> slows everything down.
Right, for some time now I've considered the switch from fsync() to
sync() (on Linux) to be a mistake, as it will affect unrelated file
systems, which might be disruptive in case there's background work being
done.
But this was done because those "modern file systems" didn't perform
adequately with fsync(), and they are the ones which require the syncs
or they will actually lose data.
> 3) dpkg is pointlessly slow in such use cases as buildds where *sync() is not
> important at all.
Well, even if the buildd chroot supposedly should be able to be recreated
easily, if the zero-lenght file issues appear on it, then it might not
be obvious something is wrong, and might produce bogus packages.
> 2) current dpkg is arguably not suitable for flash media (i.e. embedded
> devices). This hurts the "universal" part of Debian OS.
> 4) while typical dpkg could be work arounded with libeatmydata, there is no
> cure for debian-installer.
Sure, I agree the user should be able to disable this, at their own
risk. Or on specific cases, like on d-i.
> And all this is to protect against power failure? Sure, the purpose is noble
> and maybe it's a good default but due to negative side effects I find it
> unacceptable that this behaviour is not configurable.
Not only power failures, any abrupt system crash, say the bus getting
locked up, or a user assisted reboot, can produce for example
zero-lenght files on at least ext4 file systems, I don't know about
btrfs. The worst though is that the performance issues affect the file
systems which really need those safety measures. Also take into account
these are not anecdotal cases, Ubuntu who has offered ext4 on installation
for some time now had *hundreds* of duped bug reports on broken systems
due to this.
Anyway, I actually had the changes around last July, and I'll run them
through the release team to see what they say. I've rebased them now,
and will polish them a bit, but they are essentially these:
<http://git.hadrons.org/?p=debian/dpkg/dpkg.git;a=commitdiff;h=87740373>
<http://git.hadrons.org/?p=debian/dpkg/dpkg.git;a=commitdiff;h=0484cd7d>
regards,
guillem
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 13 Oct 2010 09:00:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Goswin von Brederlow <goswin-v-b@web.de>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 13 Oct 2010 09:00:03 GMT) (full text, mbox, link).
Message #47 received at 584254@bugs.debian.org (full text, mbox, reply):
Guillem Jover <guillem@debian.org> writes:
>> 3) dpkg is pointlessly slow in such use cases as buildds where *sync() is not
>> important at all.
>
> Well, even if the buildd chroot supposedly should be able to be recreated
> easily, if the zero-lenght file issues appear on it, then it might not
> be obvious something is wrong, and might produce bogus packages.
Nah. If the buildd crashes while creating the chroot then it will just
have to remove and recreate the chroot when it comes back. In configs
where lvm snapshots, btrfs snapshots or cow hardlink farms are used this
is the default. And only in such chroots would you use the unsafe IO
option.
>> 2) current dpkg is arguably not suitable for flash media (i.e. embedded
>> devices). This hurts the "universal" part of Debian OS.
>
>> 4) while typical dpkg could be work arounded with libeatmydata, there is no
>> cure for debian-installer.
>
> Sure, I agree the user should be able to disable this, at their own
> risk. Or on specific cases, like on d-i.
Maybe in unsafe mode dpkg should create /var/lib/dpkg/unsafe, sync(), do
everything else unsafe, sync(), remove /var/lib/dpkg/unsafe. And when
/var/lib/dpkg/unsafe exists already then it should start SCREAMING its
head of. :)
MfG
Goswin
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 20 Oct 2010 19:24:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Modestas Vainius <modax@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 20 Oct 2010 19:24:03 GMT) (full text, mbox, link).
Message #52 received at 584254@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Hello,
On sekmadienis 10 Spalis 2010 15:21:47 Guillem Jover wrote:
> Anyway, I actually had the changes around last July, and I'll run them
> through the release team to see what they say. I've rebased them now,
> and will polish them a bit, but they are essentially these:
>
> <http://git.hadrons.org/?p=debian/dpkg/dpkg.git;a=commitdiff;h=87740373>
> <http://git.hadrons.org/?p=debian/dpkg/dpkg.git;a=commitdiff;h=0484cd7d>
But these do not cover fsync()s for /var/lib/dpkg/status and
/var/lib/dpkg/updates/*, do they? Those are very frequent as well and slow the
whole process down. I think you need to expand --force-unsafe-io scope.
Btw, how will I be able to enable --force-unsafe-io for dpkg when it's run
under apt/aptitude? Maybe environment variable and/or /etc/dpkg/dpkg.cfg
option is a better solution then?
--
Modestas Vainius <modax@debian.org>
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 20 Oct 2010 19:36:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Julien Cristau <jcristau@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 20 Oct 2010 19:36:03 GMT) (full text, mbox, link).
Message #57 received at 584254@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Wed, Oct 20, 2010 at 22:20:31 +0300, Modestas Vainius wrote:
> Btw, how will I be able to enable --force-unsafe-io for dpkg when it's run
> under apt/aptitude? Maybe environment variable and/or /etc/dpkg/dpkg.cfg
> option is a better solution then?
>
-o DPkg::options="--force-unsafe-io"?
Cheers,
Julien
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 20 Oct 2010 19:51:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Modestas Vainius <modax@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 20 Oct 2010 19:51:03 GMT) (full text, mbox, link).
Message #62 received at 584254@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Hello,
On trečiadienis 20 Spalis 2010 22:33:34 Julien Cristau wrote:
> On Wed, Oct 20, 2010 at 22:20:31 +0300, Modestas Vainius wrote:
> > Btw, how will I be able to enable --force-unsafe-io for dpkg when it's
> > run under apt/aptitude? Maybe environment variable and/or
> > /etc/dpkg/dpkg.cfg option is a better solution then?
>
> -o DPkg::options="--force-unsafe-io"?
DPkg::options does not seem to work with neither apt or aptitude.
--
Modestas Vainius <modax@debian.org>
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 20 Oct 2010 20:12:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 20 Oct 2010 20:12:03 GMT) (full text, mbox, link).
Message #67 received at 584254@bugs.debian.org (full text, mbox, reply):
Hi,
On Wed, 20 Oct 2010, Modestas Vainius wrote:
> On trečiadienis 20 Spalis 2010 22:33:34 Julien Cristau wrote:
> > On Wed, Oct 20, 2010 at 22:20:31 +0300, Modestas Vainius wrote:
> > > Btw, how will I be able to enable --force-unsafe-io for dpkg when it's
> > > run under apt/aptitude? Maybe environment variable and/or
> > > /etc/dpkg/dpkg.cfg option is a better solution then?
> >
> > -o DPkg::options="--force-unsafe-io"?
>
> DPkg::options does not seem to work with neither apt or aptitude.
It does but it's “-o DPkg::options::="--force-unsafe-io"”.
And /etc/dpkg/dpkg.cfg can be used to enable any command-line parameter
so you should be able to put "force-unsafe-io" in that file as well.
Cheers,
--
Raphaël Hertzog ◈ Debian Developer ◈ [Flattr=20693]
Follow my Debian News ▶ http://RaphaelHertzog.com (English)
▶ http://RaphaelHertzog.fr (Français)
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Wed, 20 Oct 2010 20:30:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Modestas Vainius <modax@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Wed, 20 Oct 2010 20:30:03 GMT) (full text, mbox, link).
Message #72 received at 584254@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Hello,
On trečiadienis 20 Spalis 2010 23:08:36 Raphael Hertzog wrote:
> It does but it's “-o DPkg::options::="--force-unsafe-io"”.
Indeed, this syntax works. Thanks.
> And /etc/dpkg/dpkg.cfg can be used to enable any command-line parameter
> so you should be able to put "force-unsafe-io" in that file as well.
Great. Thanks for this info.
--
Modestas Vainius <modax@debian.org>
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#584254; Package dpkg.
(Fri, 22 Oct 2010 09:15:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>.
(Fri, 22 Oct 2010 09:15:03 GMT) (full text, mbox, link).
Message #77 received at 584254@bugs.debian.org (full text, mbox, reply):
On Wed, 2010-10-20 at 22:20:31 +0300, Modestas Vainius wrote:
> On sekmadienis 10 Spalis 2010 15:21:47 Guillem Jover wrote:
> > Anyway, I actually had the changes around last July, and I'll run them
> > through the release team to see what they say. I've rebased them now,
> > and will polish them a bit, but they are essentially these:
> >
> > <http://git.hadrons.org/?p=debian/dpkg/dpkg.git;a=commitdiff;h=87740373>
> > <http://git.hadrons.org/?p=debian/dpkg/dpkg.git;a=commitdiff;h=0484cd7d>
>
> But these do not cover fsync()s for /var/lib/dpkg/status and
> /var/lib/dpkg/updates/*, do they? Those are very frequent as well and slow
> the whole process down. I think you need to expand --force-unsafe-io scope.
Those fsync() have always been there, thus it cannot be part of any
regression. I added few fsync()s for directories at the time, and for
few other db files but nothing that amounts to much.
The status file should be synced generally only once at the end of the
run or when enough updates have been accumulated (currently 250), and
each update file is fsync()ed once, those happen on state changes which
should not be many per package and are pretty small files.
If your file system is having problems keeping up with the db fsync()s
then I'd urge you to complain to the file system developers, as I'd
consider those buggy if they don't allow for the use of safe fsync() +
rename() when they actually require it or make users suffer data loss.
regards,
guillem
Added tag(s) pending.
Request was from Guillem Jover <guillem@debian.org>
to control@bugs.debian.org.
(Thu, 25 Nov 2010 06:54:09 GMT) (full text, mbox, link).
Message sent on
to LaMont Jones <lamont@debian.org>:
Bug#584254.
(Thu, 25 Nov 2010 06:54:12 GMT) (full text, mbox, link).
Message #82 received at 584254-submitter@bugs.debian.org (full text, mbox, reply):
tag 584254 pending
thanks
Hello,
Bug #584254 reported by you has been fixed in the Git repository. You can
see the changelog below, and you can check the diff of the fix at:
http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=929a9c4
---
commit 929a9c4808c79781469987585f78f07df7f1d484
Author: Guillem Jover <guillem@debian.org>
Date: Thu Jul 29 08:59:09 2010 +0200
Add new --force-unsafe-io to disable safe I/O operations on unpack
This allows to not perform file system syncs before file renames
to guarantee its atomicity, which is known to cause substantial
performance degradation on some file systems, unfortunately the ones
that require the safe I/O on the first place due to their unreliable
behaviour causing zero-length files on abrupt system crashes (sudden
reboot, bus locks, pulling the plug, etc).
Using this option might improve performance at the cost of losing
data, and should thus be used with care, but that's ultimately
something for the user of the affected file systems to decide.
Closes: #584254
diff --git a/debian/changelog b/debian/changelog
index 4fcd521..9c97f0c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,8 @@ dpkg (1.15.8.6) UNRELEASED; urgency=low
[ Guillem Jover ]
* Disable by default usage of synchronous sync(2), as it causes undesired
I/O on unrelated file systems. Closes: #588339, #595927, #600075
+ * Add new --force-unsafe-io to disable safe I/O operations on unpack.
+ Closes: #584254
[ Updated man page translations ]
* French (Christian Perrier). Including a typo fix
Reply sent
to Guillem Jover <guillem@debian.org>:
You have taken responsibility.
(Thu, 25 Nov 2010 07:03:03 GMT) (full text, mbox, link).
Notification sent
to LaMont Jones <lamont@debian.org>:
Bug acknowledged by developer.
(Thu, 25 Nov 2010 07:03:03 GMT) (full text, mbox, link).
Message #87 received at 584254-close@bugs.debian.org (full text, mbox, reply):
Source: dpkg
Source-Version: 1.15.8.6
We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive:
dpkg-dev_1.15.8.6_all.deb
to main/d/dpkg/dpkg-dev_1.15.8.6_all.deb
dpkg_1.15.8.6.dsc
to main/d/dpkg/dpkg_1.15.8.6.dsc
dpkg_1.15.8.6.tar.bz2
to main/d/dpkg/dpkg_1.15.8.6.tar.bz2
dpkg_1.15.8.6_amd64.deb
to main/d/dpkg/dpkg_1.15.8.6_amd64.deb
dselect_1.15.8.6_amd64.deb
to main/d/dpkg/dselect_1.15.8.6_amd64.deb
libdpkg-dev_1.15.8.6_amd64.deb
to main/d/dpkg/libdpkg-dev_1.15.8.6_amd64.deb
libdpkg-perl_1.15.8.6_all.deb
to main/d/dpkg/libdpkg-perl_1.15.8.6_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 584254@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (supplier of updated dpkg package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Thu, 25 Nov 2010 07:10:48 +0100
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source amd64 all
Version: 1.15.8.6
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: 584254 588339 595455 595927 596168 596519 597023 597651 598473 599923 600075 600240 601852 602518 604769
Changes:
dpkg (1.15.8.6) unstable; urgency=low
.
[ Raphaël Hertzog ]
* Ensure debian/source/local-options is always excluded from the source
package even if the user provides customized -i or -I options.
Closes: #597023
* Fix Dpkg::Version's handling of version with a debian revision but an
empty version (e.g. "-0.1"). Thanks to James Vega <jamessan@debian.org>
for the patch. Closes: #597651
* With "3.0 (quilt)" source package, create .pc/.quilt_series with the
correct series file if the source package provides vendor specific patch
sets.
.
[ Guillem Jover ]
* Disable by default usage of synchronous sync(2), as it causes undesired
I/O on unrelated file systems. Closes: #588339, #595927, #600075
* Add new --force-unsafe-io to disable safe I/O operations on unpack.
Closes: #584254
.
[ Updated man page translations ]
* French (Christian Perrier). Including a typo fix and a typographical
change reported by Vincent Danjean. Closes: #601852
* Spanish (Omar Campagne). Closes: #596519
.
[ Updated programs translations ]
* Basque (Iñaki Larrañaga Murgoitio). Closes: #599923
* Catalan (Jordi Mallach).
* Danish (Ask Hjorth Larsen). Closes: #600240
* German (Sven Joachim). Improved by Holger Wansing.
* Italian (Pietro Battiston). Fix translation of "however". Closes: #602518
* Portuguese (Miguel Figueiredo). Closes: #596168
* Romanian (Andrei Popescu). Closes: #604769
* Russian (Yuri Kozlov). Closes: #595455
* Vietnamese (Clytie Siddall). Closes: #598473
.
[ Updated scripts translations ]
* Catalan (Jordi Mallach).
* German (Sven Joachim).
.
[ Updated dselect translations ]
* Catalan (Jordi Mallach).
* German (Sven Joachim).
Checksums-Sha1:
0ac67a10e335d0ec5375ac523998546403525ff9 1208 dpkg_1.15.8.6.dsc
ebc9a6087f8f8c56c973f26f9bdb17ef1c570f0c 5222815 dpkg_1.15.8.6.tar.bz2
7a6e46450c5d8d89746a5ba16a6ed7b9306b2a07 426852 libdpkg-dev_1.15.8.6_amd64.deb
ba234426fb283f292efc9a0b202a09b5c579b504 2338026 dpkg_1.15.8.6_amd64.deb
196702535a3a609f134375d5d3c39bb26663f4ca 894426 dselect_1.15.8.6_amd64.deb
e6affdd25dcdc0b9c73e5059bc95f34531ed52e4 801736 dpkg-dev_1.15.8.6_all.deb
47cb193e3096afb8035632a1b6bae0da9771c226 682848 libdpkg-perl_1.15.8.6_all.deb
Checksums-Sha256:
a4355f87fa1466edcefff224182ae7824d1469d1ddc28126d00cd361c611e0a9 1208 dpkg_1.15.8.6.dsc
b319621a4d0f9fa7b356b4def978bad0b18b944405f2be9eace5e2713b5f1f49 5222815 dpkg_1.15.8.6.tar.bz2
eedd636f39cb03a28758558cd6f4b700a2168c1adb9e4c8a59ab4ca07549bad5 426852 libdpkg-dev_1.15.8.6_amd64.deb
6d3265e9aa6ef2d7ec341687df80e55da5996daa5d581e1864e9466bc7c36321 2338026 dpkg_1.15.8.6_amd64.deb
b4a073849a3944c4f7b13b67cc6db8a78e8edd38ca50d86134f7aa1977c40f4b 894426 dselect_1.15.8.6_amd64.deb
3368e9efe1206c720b92c69b89f3f43e8a0a4d13949aa24deceb02b2452ef756 801736 dpkg-dev_1.15.8.6_all.deb
6a05978ee576c2848aa0f748cd0208547c0f39856a782ba227db331b7cf24bd3 682848 libdpkg-perl_1.15.8.6_all.deb
Files:
6d69ce9fd47b97aef50f5ba1209c4b24 1208 admin required dpkg_1.15.8.6.dsc
4102648a08a4416bfc3e4f4275a438e4 5222815 admin required dpkg_1.15.8.6.tar.bz2
1c45d231edef121f36a575a6322e928b 426852 libdevel optional libdpkg-dev_1.15.8.6_amd64.deb
4525021598d6810dcb3fa114e5433ba1 2338026 admin required dpkg_1.15.8.6_amd64.deb
b5662cfacfb969c3db3668cab230729b 894426 admin optional dselect_1.15.8.6_amd64.deb
85db60da1da45941fd1789d156bdbd01 801736 utils optional dpkg-dev_1.15.8.6_all.deb
00816223970f7700379ef13d2110878b 682848 perl optional libdpkg-perl_1.15.8.6_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAkzuA9IACgkQuW9ciZ2SjJtWeACgw/Em7Z5+xaFqj6lJk3DpESzc
y/EAnA0oig96OBJD4pOI1fM62qXmzP00
=ugvO
-----END PGP SIGNATURE-----
Reply sent
to Guillem Jover <guillem@debian.org>:
You have taken responsibility.
(Thu, 25 Nov 2010 07:03:04 GMT) (full text, mbox, link).
Notification sent
to Modestas Vainius <modestas@vainius.eu>:
Bug acknowledged by developer.
(Thu, 25 Nov 2010 07:03:04 GMT) (full text, mbox, link).
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Wed, 05 Jan 2011 07:35:27 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Tue Jan 9 19:22:09 2018;
Machine Name:
beach
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.