Message ID | 20220321182618.134202-1-jlayton@kernel.org |
---|---|
Headers | show |
Series | ceph/libceph: add support for sparse reads to msgr2 crc codepath | expand |
On Mon, 2022-03-21 at 14:26 -0400, Jeff Layton wrote: > This is a revised version of the sparse read code I posted a week or so > ago. Sparse read support is required for fscrypt integration work, but > may be useful on its own. > > The main differences from the v3 set are a couple of small bugfixes, and > the addition of a new "sparseread" mount option to force the cephfs > client to use sparse reads. I also renamed the sparse_ext_len field to > be sparse_ext_cnt (as suggested by Xiubo). > > Ilya, at this point I'm mostly looking for feedback from you. Does this > approach seem sound? If so, I'll plan to work on implementing the v2-secure > and v1 codepaths next. > > These patches are currently available in the 'ceph-sparse-read-v4' tag > in my kernel tree here: > > https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git/ > > Jeff Layton (5): > 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 > 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 | 29 ++++ > include/linux/ceph/osd_client.h | 71 ++++++++- > net/ceph/messenger.c | 1 + > net/ceph/messenger_v2.c | 170 +++++++++++++++++++-- > net/ceph/osd_client.c | 255 +++++++++++++++++++++++++++++++- > 9 files changed, 593 insertions(+), 26 deletions(-) > I've pushed this series into a new branch in the ceph tree called "wip-sparseread", if anyone wants to test it. Note that ms_mode=secure and ms_mode=legacy settings do not work properly with sparse reads yet.