We went through a similar discussion last year in OpenAFS land, and came the same conclusion -- basically, if your filesystem is reasonably reliable (such as ZFS is), and you can trust your underlying storage not to lose transactions that are in-cache during a 'bad event', the added benefit of fsync() may be less than its performance cost. -rob On Nov 20, 2007, at 08:32, Michael R. Gettes wrote: > I am wondering about the use of fsync() on journal'd file systems > as described below. Shouldn't there be much less use of (or very > little use) of fsync() on these types of systems? Let the journal > layer due its job and not force it within cyrus? This would likely > save a lot of system overhead. It makes sense to use on non-journal'd > fs. I also wonder whether modern arrays even respect FULLFSYNC > given their more complex nature and I/O scheduling algorithms. It > may be time that fsync() (and fcntl(F_FULLFSYNC)) have become moot > since there is likely little way to influence, in an effective > targeted way, I/O behavior in complex environments these days. ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html