Ross Walker wrote:
wrote:
Did linux ever get a working fsync() or does it still flush the entire filesystem buffer?
Working, meaning reliable, or the ability to sync a memory range instead of the whole file system? There is sync_page_range() to only sync only a range, but I think the biggest issue is whether it actually assures it makes it to disk or just out of memory.
I mean the ability to sync only the buffer associated with the single file specified by the file descriptor in the argument - without waiting for a bunch of other unrelated and irrelevant data to sync along with it.
I'm pretty sure it just flushes the data associated with the file descriptor.
Maybe I'm thinking of ext2 where it didn't keep track of the directory associated with the file or walk the tree back flushing them. But it still seems to not do it right: http://lwn.net/Articles/270891/