diff options
author | Jeff Layton <jlayton@kernel.org> | 2022-02-11 19:38:02 +0300 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2023-08-22 10:01:47 +0300 |
commit | f628d799972799023d32c2542bb2639eb8c4f84e (patch) | |
tree | f6ae659115e694ff6d5f7b5c4701c5df22e4fc6b /fs/ceph/super.h | |
parent | d396f89db39a2f259e2125ca43b4c31bb65afcad (diff) | |
download | linux-f628d799972799023d32c2542bb2639eb8c4f84e.tar.xz |
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.h')
0 files changed, 0 insertions, 0 deletions