On Mon, Aug 02, 2010 at 11:01:53PM +0400, Vladislav Bolkhovitin wrote: > IMHO, all is needed are: What we need first is a simple interface that a) guarantees data integrity b) doesn't cause massive slowdowns and then we can optimize it later. What we absolutely don't need is a large number of different interfaces that no one understands and that all are buggy in some way. > >Now the fsync in XFS looks like this: > > > >1) write out all the data blocks using WRITE > >2) wait for these to finish > >3) propagate any I/O error to the inode so we can pick them up > >4) update the inode size in the shadow in-memory structure > >5) start a transaction to log the inode size > >6) flush the write cache to make sure the data really is on disk > > Here should be "6.1) wait for it to finish" yes > which can be eliminated if > requests sent ordered, correct? not really - if the cache flush returns we shouldn't even send the log update. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html