On Wed, Mar 23, 2011 at 05:15:15PM -0400, Trond Myklebust wrote: > We had a spec clarification about this recently. The result is that for > 'files' layout types: > > 1) DATA_SYNC writes and unstable writes with COMMIT must store enough > data to disk to allow the server to recover the data if it crashes (i.e. > it provides the equivalent of O_DSYNC and/or fdatasync()). FILE_SYNC > writes must commit all data + metadata (i.e. they do the equivalent of > O_SYNC writes). > 2) This means that layoutcommit is only needed when the layout specifies > COMMIT to the data servers, or if the writes to the data servers return > a DATA_SYNC. All it does is commit the time stamps + file size to disk > on the metadata server (and so you avoid the need to do an expensive > recovery process on crash). > > IOW: the above should be correct. Okay, care to add a comment explaining this fact? The name layoutcommit doesn't quite suggest that it doesn't commit anything but timestamps and size. Can you recover the size from the data servers with the code above? The size should also be on disk for an fdatasync. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html