Re: [Exim] Reliability of spool/delivery handling (Linux)?

Top Page
Delete this message
Reply to this message
Author: Rasputin
Date:  
To: Dr Andrew C Aitchison
CC: exim-users
Subject: Re: [Exim] Reliability of spool/delivery handling (Linux)?
* Dr Andrew C Aitchison <A.C.Aitchison@???> [010823 09:24]:
>
> > On Tue, 21 Aug 2001, Lutz Pressler wrote:
> >
> > > Is the way Exim handles spool files and local delivery safe, especially
> > > on Linux ext2?
> > > James Antill seems to think that it's not.
> >
> > I am not an expert on this stuff. I just have to go by what I read in
> > the manuals and what people tell me.
> >
> > > Just in case anyone cares here's what exim does (AFAICS)...
> > >
> > > int fd1 = open(f1);
> > > write(fd1);
> > > fsync(fd1);
> > >
> > > int fd2 = open(tmp);
> > > write(fd2);
> > > fsync(fd2);
> > > rename(tmp, f2); // Good at this point.
> > >
> > > So that seems to rely on all dir operations being sync.


I think the safety issue comes from the fact that most Linux distros
mount their file systems asynchronously.

There was a looong thread about this on the FreeBSD mailing list earlier
this year, STR there was some concern about Qmail's or Postfix's performance
(it did something similar) and mention of some RFC that states a
'queued and submitted' message from an MTA is required to mean the message
is on 'stable storage' i.e. the blocks have been written to disk, hence all the fsyncs.

It made perfromance on BSD suck, since every byte written caused an fsync() call,
despite the fact the at the time FreeBSD mounted it's disks synchronously.
-- 
Did you know that clones never use mirrors?
        -- Ambrose Bierce, "The Devil's Dictionary"
Rasputin :: Jack of All Trades - Master of Nuns ::