On 04/06/2017 08:50 AM, Jason Dillaman wrote:
I don't recall a configuration option, but librbd always uses sparse reads when the cache is disabled and never uses sparse reads for cache-based reads. I'm pretty sure there wasn't a rationale for the split -- instead, I've always assumed it was an oversight when that feature was added years ago.
It was turned off on the osd side (with the 'filestore fiemap' option) due to (at the time) buggy kernel behavior with fiemap. I think I didn't bother implementing it in the cache because of this - it wouldn't have been safe to use it at the time, and it would have required more work in the cache to support sparse data at that point too. Nowadays seek_data/hole should be reliable (there have been xfstests for it for a few years) so it's worth looking into for the recovery case. The rbd cache could be pretty easily modified to support sparse reads at this point too, which would help the keep the copy-on-write case sparse. Josh -- 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