Re: [ANNOUNCE] Ext3 vs Reiserfs benchmarks

Matthias Andree (matthias.andree@stud.uni-dortmund.de)
Tue, 16 Jul 2002 14:35:36 +0200


On Mon, 15 Jul 2002, Chris Mason wrote:

> On Mon, 2002-07-15 at 15:13, Patrick J. LoPresti wrote:
>
> > > 1) that newly grown file is someone's inbox, and the old contents of the
> > > new block include someone else's private message.
> > >
> > > 2) That newly grown file is a control file for the application, and the
> > > application expects it to contain valid data within (think sendmail).
> >
> > In a correctly-written application, neither of these things can
> > happen. (See my earlier message today on fsync() and MTAs.) To get a
> > file onto disk reliably, the application must 1) flush the data, and
> > then 2) flush a "validity" indicator. This could be a sequence like:
> >
> > create temp file
> > flush data to temp file
> > rename temp file
> > flush rename operation
>
> Yes, most mtas do this for queue files, I'm not sure how many do it for
> the actual spool file. mail server authors are more than welcome to

Less. For one, Postfix' local(8) daemon relies on synchronous directory
update for Maildir spools. For mbox spool, the problem is less
prevalent, because spool files usually exist already and fsync() is
sufficient (and fsync() is done before local(8) reports success to the
queue manager).

-- 
Matthias Andree
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/