]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
afs: Set up the iov_iter before calling afs_extract_data()
authorDavid Howells <dhowells@redhat.com>
Fri, 19 Oct 2018 23:57:56 +0000 (00:57 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 23 Oct 2018 23:41:07 +0000 (00:41 +0100)
commit12bdcf333fe13ece2a487a699b1a0f4c5dbb594b
tree3fcf895a7c2ef06f84a8def70cda5628b563a3dc
parent160cb9574b550426122422444b8f19d614505f81
afs: Set up the iov_iter before calling afs_extract_data()

afs_extract_data sets up a temporary iov_iter and passes it to AF_RXRPC
each time it is called to describe the remaining buffer to be filled.

Instead:

 (1) Put an iterator in the afs_call struct.

 (2) Set the iterator for each marshalling stage to load data into the
     appropriate places.  A number of convenience functions are provided to
     this end (eg. afs_extract_to_buf()).

     This iterator is then passed to afs_extract_data().

 (3) Use the new ITER_DISCARD iterator to discard any excess data provided
     by FetchData.

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