twx-linux/include/linux/ceph
Jeff Layton f628d79997 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>
2023-08-22 09:01:47 +02:00
..
auth.h libceph: set global_id as soon as we get an auth ticket 2021-06-24 21:03:17 +02:00
buffer.h
ceph_debug.h
ceph_features.h libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
ceph_frag.h
ceph_fs.h ceph: fix incorrect old_size length in ceph_mds_request_args 2022-08-03 00:54:12 +02:00
ceph_hash.h
cls_lock_client.h
debugfs.h
decode.h libceph, ceph: implement msgr2.1 protocol (crc and secure modes) 2020-12-14 23:21:50 +01:00
libceph.h ceph: move mount state enum to super.h 2023-02-02 13:40:23 +01:00
mdsmap.h ceph: prevent a client from exceeding the MDS maximum xattr size 2022-08-03 00:54:12 +02:00
messenger.h libceph: add sparse read support to msgr1 2023-08-22 09:01:47 +02:00
mon_client.h
msgpool.h
msgr.h libceph: add __maybe_unused to DEFINE_MSGR2_FEATURE 2020-12-28 20:34:33 +01:00
osd_client.h libceph: add sparse read support to OSD client 2023-08-22 09:01:47 +02:00
osdmap.h libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
pagelist.h
rados.h
string_table.h
striper.h
types.h