On Fri, Aug 21, 2009 at 03:45:18PM -0700, Joel Becker wrote: > In the section on perhaps not waiting for buffered fallback, we > need to clarify that O_DIRECT reads need to know to look in the > pagecache. That is, if we decide that extending O_DIRECT writes without > fsync can return before the data hits the storage, the caller shouldn't > also have to call fsync() just to call read() of data they just wrote! The way the O_DIRECT fallback is implemented currenly is that data does hit the disk before return, thanks to a: err = do_sync_mapping_range(file->f_mapping, pos, endbyte, SYNC_FILE_RANGE_WAIT_BEFORE| SYNC_FILE_RANGE_WRITE| SYNC_FILE_RANGE_WAIT_AFTER); which I expected to also sync the required metdata to disk, which it doesn't. Which btw are really horrible semantics given that we export that beast to userspace as a separate system call. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html