Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Feb 2001 22:11:46 +0100
From:      Andre Oppermann <oppermann@monzoon.net>
To:        Alfred Perlstein <bright@wintelcom.net>
Cc:        Matt Dillon <dillon@earth.backplane.com>, Rik van Riel <riel@conectiva.com.br>, Mike Silbersack <silby@silby.com>, Poul-Henning Kamp <phk@critter.freebsd.dk>, Charles Randall <crandall@matchlogic.com>, Dan Phoenix <dphoenix@bravenet.com>, Jos Backus <josb@cncdsl.com>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: soft updates and qmail (RE: qmail IO problems)
Message-ID:  <3A806892.5DB84D17@monzoon.net>
References:  <Pine.LNX.4.21.0102061555550.1535-100000@duckman.distro.conectiva> <3A805035.C71AAD5E@monzoon.net> <200102061943.f16Jhp365113@earth.backplane.com> <3A805938.96ED890D@monzoon.net> <20010206121357.S26076@fw.wintelcom.net> <3A805F53.F5CD60D9@monzoon.net> <20010206124012.V26076@fw.wintelcom.net> <3A80650D.9FA0BCDA@monzoon.net> <20010206130602.X26076@fw.wintelcom.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Alfred Perlstein wrote:
> 
> * Andre Oppermann <oppermann@monzoon.net> [010206 12:58] wrote:
> > Alfred Perlstein wrote:
> > >
> > > Basically, you want a fsync right before the IPC.  This should
> > > bring the metadata up to date with what's in-core and you should
> > > then be safe when you reply with your 250 accepted message.
> >
> > Like this (from qmail-queue):
> >
> > ...
> >  if (fsync(intdfd) == -1) die_write();
> >
> >  if (link(intdfn,todofn) == -1) die(66);
> >
> >  triggerpull();
> >  die(0);
> > }
> >
> > Actually for initial queueing it doesn't even unlink() but leaves
> > it to the next program. Can't be more safe, can it?
> 
> Only if you don't need the link() to exist after a crash.

No, I don't. It'll do a roll-forward.

-- 
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?3A806892.5DB84D17>