]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
libceph: support sparse reads on msgr2 secure codepath
authorJeff Layton <jlayton@kernel.org>
Wed, 23 Mar 2022 16:17:15 +0000 (12:17 -0400)
committerJeff Layton <jlayton@kernel.org>
Tue, 31 May 2022 14:45:15 +0000 (10:45 -0400)
commitdbe967caf4c3e2f9e9bfef2a636c5a969430404d
treebf06f865985c7c2c62e9d45893c4af0c5ffcfb79
parentc21d629e877ebef049fb2376f0d9fb5e6531a0ba
libceph: support sparse reads on msgr2 secure codepath

Add a new init_sgs_pages helper that populates the scatterlist from
an arbitrary point in an array of pages.

Change setup_message_sgs to take an optional pointer to an array of
pages. If that's set, then the scatterlist will be set using that
array instead of the cursor.

When given a sparse read on a secure connection, decrypt the data
in-place rather than into the final destination, by passing it the
in_enc_pages array.

After decrypting, run the sparse_read state machine in a loop, copying
data from the decrypted pages until it's complete.

Reviewed-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
net/ceph/messenger_v2.c