On Mon, Apr 27, 2015 at 03:41:33PM +1000, NeilBrown wrote: > Are you sure about NFSv4.2? > > I see that it *can* report holes, but is there any guarantee that if you > create a new file and write only the 5th block, then READ_PLUS will reliably > report that the first 4 block are holes?? FYI, I'm talking about SEEK here, not READ_PLUS but the issue is the same. > Because if it doesn't guarantee that, then NFSv4.2 doesn't fit the with the > others where SEEK_HOLE reliable reports holes. > On the other hand if NFSv4.2 *does* guarantee that then the current READ_PLUS > server patches are broken because they just use vfs_llseek and assume that > trust what it says. There is no quality of implementation guarantee in NFS, just like there isn't any in Linux. It's very hard to have any hard guarantees without leaking specific implementation details like a block size. > It would be really nice if SEEK_{DATA,HOLE} either reported holes reliably or > returned ENXIO, but I guess there was a goo reason not to do that. It would hav been useful, but we went with the Solaris way of reporting a giant hole. Solaris at least has a pathconf value telling you if real SEEK_{DATA,HOLE} are supported, but with Linus' hatred of that syscall we only have a bad emulation in glibc that isn't of much help here. -- 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