summaryrefslogtreecommitdiff
path: root/fs/ceph/super.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2022-02-11 11:38:02 -0500
committerIlya Dryomov <idryomov@gmail.com>2023-08-22 09:01:47 +0200
commitf628d799972799023d32c2542bb2639eb8c4f84e (patch)
treef6ae659115e694ff6d5f7b5c4701c5df22e4fc6b /fs/ceph/super.c
parentd396f89db39a2f259e2125ca43b4c31bb65afcad (diff)
libceph: add sparse read support to OSD client
Have get_reply check for the presence of sparse read ops in the request and set the sparse_read boolean in the msg. That will queue the messenger layer to use the sparse read codepath instead of the normal data receive. Add a new sparse_read operation for the OSD client, driven by its own state machine. The messenger will repeatedly call the sparse_read operation, and it will pass back the necessary info to set up to read the next extent of data, while zero-filling the sparse regions. The state machine will stop at the end of the last extent, and will attach the extent map buffer to the ceph_osd_req_op so that the caller can use it. Signed-off-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Xiubo Li <xiubli@redhat.com> Reviewed-and-tested-by: Luís Henriques <lhenriques@suse.de> Reviewed-by: Milind Changire <mchangir@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph/super.c')
0 files changed, 0 insertions, 0 deletions