Hi, On Sun, Feb 03, 2002 at 06:07:56PM +0100, Ralf Hildebrandt wrote: > There's a big thread about filesystems on postfix-users@postfix.org > > From: wietse@porcupine.org (Wietse Venema) > Lawrence Greenfield: > > Date: Sat, 2 Feb 2002 22:22:25 -0500 (EST) > > From: wietse@porcupine.org (Wietse Venema) > > > > This patch is not useful. On Linux file systems it has no effect > > at all. On FFS it has no useful effect at all, either unless soft > > updates are turned on, which is not the default. > > > > Huh? That's not true at all. > > > > On ext3fs, the fsync() afterwards will flush the log, thus forcing the > > link() to disk, just like it forces the link() to disk in softupdates. > > fsync() flushes the whole damned ext3 log? That would be lame. On ext3, fsync forces the transaction out to the log, but it does NOT flush the log out to disk. The log is always reclaimed lazily as needed. > I expected they fixed that behavior long ago. It has never behaved that way. ext3 has one other nice feature here in current versions --- when it does force a log commit for fsync, it performs a final "yield" before closing the commit, allowing other threads to queue synchronous IOs into the same transaction. We found that in a heavily threaded synchronous application, this *enormously* improves performance --- postmark improved by a factor of about 30 in our tests, simply because we can batch so many synchronous application IO requests into a single sequential log update. Cheers, Stephen