I'm currently looking at the behaviour of various Linux filesystems as backends for the Cyrus IMAP server. Like many mail applications, Cyrus makes heavy use of the fsync() system call to ensure that data has hit stable storage before it acknowledges receipt of messages. At the moment fsync() appears to introduce lots of synchronous I/O as data is flushed all the way through to the filesystem proper. My (probably naive) hope was that when using the data=journal mode, fsync() would flush data to the journal but then commit through to the real filesystem asynchronously. This doesn't appear to be the case with the 2.4 kernel, however I found some mention of "two stage sync" for 2.5 in the archives for this list. Does this mean that this behaviour is likely to change with 2.6? Failing that is some API available in place of fsync() which would flush data through to the journal? Unrelated: Does anyone have a feel for when the htree stuff is likely to stabilise? I see that it went into the first beta for Redhat 8.1, but was pulled later. TIA, -- David Carter Email: David.Carter@ucs.cam.ac.uk University Computing Service, Phone: (01223) 334502 New Museums Site, Pembroke Street, Fax: (01223) 334679 Cambridge UK. CB2 3QH.