Yet another revised version of the sparse read patches. The first 4 and last patch are essentially the same as the ones I posted earlier this week, modulo a couple of small changes. Patches 5 and 6 add support for sparse reads to ms_mode=secure and ms_mode=legacy mounts. This series is necessary for the fscrypt integration work. In fact, I was able to run the fscrypt series I posted earlier this week on top of this and it worked just fine. Again, I'm mostly looking for feedback from Ilya at this point, but I'll probably go ahead and merge this into the testing branch later today (unless anyone pipes up with objections). Jeff Layton (7): libceph: add spinlock around osd->o_requests libceph: define struct ceph_sparse_extent and add some helpers libceph: add sparse read support to msgr2 crc state machine libceph: add sparse read support to OSD client libceph: support sparse reads on msgr2 secure codepath libceph: add sparse read support to msgr1 ceph: add new mount option to enable sparse reads fs/ceph/addr.c | 18 +- fs/ceph/file.c | 51 +++++- fs/ceph/super.c | 16 +- fs/ceph/super.h | 8 + include/linux/ceph/messenger.h | 33 ++++ include/linux/ceph/osd_client.h | 71 +++++++- net/ceph/messenger.c | 1 + net/ceph/messenger_v1.c | 98 ++++++++++- net/ceph/messenger_v2.c | 289 +++++++++++++++++++++++++++++--- net/ceph/osd_client.c | 266 ++++++++++++++++++++++++++++- 10 files changed, 807 insertions(+), 44 deletions(-) -- 2.35.1