Re: Ext2, fsync() and MTA's?

Alan Cox
2001-05-12T14:18:25Z

> Under Linux, the Postfix MTA sets "chattr +S" on it's spool directories
> - obviously this hurts it's performance badly (compared to the BSD's).

Not really. BSD directory updates are always synchronous in the cases postfix
cares about. At least on the old BSD FFS/UFS file systems. Thats the only
reason the postfix stuff doesnt need it on BSD.

> It would be really nice to be able to say it's no longer necessary. It
> wants to know that a file (file data, inode and directory entry) are
> commited to stable storage when an fsync returns.

fsync guarantees the inode data is up to date, fdatasync just the data. The
directory name SuS and posix dont cover or provide any method for guaranteeing.
The convention Linux adopted is that its valid to fsync() a directory file
handle. It seemed the logical abstraction.

Alan