> Wouldn't readplus (and maybe a sparse copy program) rather have > something that is "SEEK_DATA, fill the buffer with data from that file > position, and tell me what pos the data came from"? Or rather a read operation that returns a length but no data if there is a hole. Either way a potentially incoherent VFS cache is the wrong way to implement it. > I also suspect that devising a "simple" mapping tree for simple > filesystems will quickly devolve into a mess of figuring out their adhoc > locking and making that work. Heh. If simple really is the file systems just using the buffer_head helpers without any magic it might actually not be that bad, but once it gets a little more complicated I tend to agree. But the first thing would be to establish if we actually need it at all, or if the buffer_head caching of their metadata is actually enough for the file systems.