]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
afs: Use ITER_XARRAY for writing
authorDavid Howells <dhowells@redhat.com>
Thu, 6 Feb 2020 14:22:28 +0000 (14:22 +0000)
committerDavid Howells <dhowells@redhat.com>
Thu, 28 Jan 2021 10:57:12 +0000 (10:57 +0000)
commitc88db749e4e089df1b25c8ba466e82fda9b5b103
tree708eea1cddcea00510976c89a438fe747b7f2125
parent442a1924037ef0b6d62570df041640cbb3dbfbb2
afs: Use ITER_XARRAY for writing

Use a single ITER_XARRAY iterator to describe the portion of a file to be
transmitted to the server rather than generating a series of small
ITER_BVEC iterators on the fly.  This will make it easier to implement AIO
in afs.

In theory we could maybe use one giant ITER_BVEC, but that means
potentially allocating a huge array of bio_vec structs (max 256 per page)
when in fact the pagecache already has a structure listing all the relevant
pages (radix_tree/xarray) that can be walked over.

Signed-off-by: David Howells <dhowells@redhat.com>
fs/afs/fsclient.c
fs/afs/internal.h
fs/afs/rxrpc.c
fs/afs/write.c
fs/afs/yfsclient.c
include/trace/events/afs.h