On Wed, Jan 21, 2009 at 07:23:06AM +0100, Nick Piggin wrote: > > > > But sync_file_range() has a bug, which you've pointed out - the > > missing _data-retrieval_ metadata isn't synced. In other words, it's > > completely useless. > > I don't know. I don't think this is a newly discovered problem. > I think it's been known for a while, so I don't know what's > going on. We should ask if anyone is actually using sync_file_range (cough, <Oracle>, cough, cough). But if I had to guess, for those people who are using it, they don't much care, because 99% of the time they are overwriting data blocks within a file which isn't changing in size, so there is no data-retrieval metadata to sync. That is, the database file is only rarely grown in size, and when they do that, they can either preallocate via pre-filling or via posix_fallocate(), and then follow it up with a normal fsync(); but most of the time, they aren't mucking with the data-retrieval metadata, so it simply isn't an issue for them.... It's not general purpose, but the question is whether or not any of the primary users of this interface require the more general-purpose functionality. - Ted -- 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