Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Feb 2001 21:11:43 +0100
From:      Andre Oppermann <oppermann@monzoon.net>
To:        Rik van Riel <riel@conectiva.com.br>
Cc:        Matt Dillon <dillon@earth.backplane.com>, Poul-Henning Kamp <phk@critter.freebsd.dk>, Charles Randall <crandall@matchlogic.com>, Dan Phoenix <dphoenix@bravenet.com>, Alfred Perlstein <bright@wintelcom.net>, Jos Backus <josb@cncdsl.com>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: soft updates and qmail (RE: qmail IO problems)
Message-ID:  <3A805A7F.1CE293F4@monzoon.net>
References:  <Pine.LNX.4.21.0102061742260.1535-100000@duckman.distro.conectiva>

next in thread | previous in thread | raw e-mail | index | archive | help
Rik van Riel wrote:
> 
> On Tue, 6 Feb 2001, Andre Oppermann wrote:
> > Rik van Riel wrote:
> > > On Tue, 6 Feb 2001, Matt Dillon wrote:
> > >
> > > Reiserfs and ext3 have write-ahead logs and, AFAIK, fsync()
> > > will not return until there is a commit point in the log.
> >
> > Also FFS/UFS will not return before the file and directory entry
> > is written to the disk.
> 
> Not relevant for the point Matt was making...

Very relevant in respect to qmail. See my other mail.

> > > This means that fsync() will guarantee that the transactions
> > > won't be unwound (unless I've overlooked some weird special
> > > case situations where it is needed after all...).
> > >
> > > The only filesystems I can see being completely resilient
> > > against these destructive roll-backs would be LFS and tux2.
> >
> > This doesnt matter. If your machine crashes while receiving a
> > message you're never going to issue a SMTP 250 to the sending
> > mail server and it will try again later. We don't care if this
> > incomplete queue file survives or gets purged.
> 
> If you have a busy mailspool, it might just be the case that
> the OS is making another write to the same directory after
> your SMTP 250 has been issued.

So what? As long as link() only returns after it has written the
new entry to the disk.

> If the machine crashes during this write and leaves the directory
> in a state which cannot be recovered by fsck, the whole directory
> will be purged and you'll lose your messages.

This happens frequently with ext2.

The SMTP 250 will only be issued after the link() to the new directory
so a corruption of the first queue stage directory in a way you describe
it here should not cause any harm other than having to recreate the
directory.

You guys seem to be somehow fed up the way sendmail is handling it's
queue...?! Those assumtions do not apply to qmails way of doing
business.

-- 
Andre


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A805A7F.1CE293F4>