On Thu, Nov 3, 2011 at 14:45, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > Using sync_file_range means that neither any required metadata gets commited, > nor the disk cache gets flushed. Stop using it for the journal, and add > a comment on why a fsync_range system call would be helpful here. One clarification here that came up in a conversation: the code quoted was explicitly inside if (is_bdev), that is, it is only used when the journal was on a raw block device. That should make a lot of the metadata & block allocation irrelevant. We're still very interested in hearing what are the real world barrier / write cache flush guarantees from all the syscalls; the documentation doesn't guarantee much, even for fsync.. from fsync(2): If the underlying hard disk has write caching enabled, then the data may not really be on permanent storage when fsync() / fdatasync() return. -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html