From owner-freebsd-hackers Tue Feb 6 12:13:20 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from mailtoaster1.pipeline.ch (mailtoaster1.pipeline.ch [62.48.0.70]) by hub.freebsd.org (Postfix) with SMTP id 726AB37B4EC for ; Tue, 6 Feb 2001 12:13:00 -0800 (PST) Received: (qmail 13289 invoked from network); 6 Feb 2001 20:09:48 -0000 Received: from unknown (HELO monzoon.net) ([195.134.133.140]) (envelope-sender ) by mailtoaster1.pipeline.ch (qmail-ldap-1.03) with SMTP for ; 6 Feb 2001 20:09:48 -0000 Message-ID: <3A805A7F.1CE293F4@monzoon.net> Date: Tue, 06 Feb 2001 21:11:43 +0100 From: Andre Oppermann X-Mailer: Mozilla 4.74 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Rik van Riel Cc: Matt Dillon , Poul-Henning Kamp , Charles Randall , Dan Phoenix , Alfred Perlstein , Jos Backus , freebsd-hackers@FreeBSD.ORG Subject: Re: soft updates and qmail (RE: qmail IO problems) References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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