[PATCH 0/7] cifs: Use iov_iters down to the network transport

From: David Howells
Date: Wed May 25 2022 - 10:26:25 EST



Hi Steve,

Here's a second version of a subset of my cifs-experimental branch. It alters
the cifs driver to pass iov_iters down to the lowest layers where they can be
passed to the network transport.

I've fixed the RDMA code to work, fixed a few more bugs and addressed most of
checkpatch moans. Note that there's a bunch of stuff #if'd out in patch 5
that get removed in patch 6 - otherwise diff produces an awful mess.

There's also a couple of changes in patch 7 from Namjae Jeon to make
soft-iWarp work. Feel free to discard that patch if you get a better version
from him.

I've pushed the patches here also:

https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=cifs-for-sfrench

David
---
David Howells (6):
iov_iter: Add a function to extract an iter's buffers to a bvec iter
iov_iter: Add a general purpose iteration function
cifs: Add some helper functions
cifs: Add a function to read into an iter from a socket
cifs: Change the I/O paths to use an iterator rather than a page list
cifs: Remove unused code

Namjae Jeon (1):
cifs, ksmbd: Fix MAX_SGE count for softiwarp


fs/cifs/cifsencrypt.c | 40 +-
fs/cifs/cifsfs.h | 3 +
fs/cifs/cifsglob.h | 29 +-
fs/cifs/cifsproto.h | 11 +-
fs/cifs/cifssmb.c | 253 +++++---
fs/cifs/connect.c | 16 +
fs/cifs/file.c | 1269 ++++++++++++-------------------------
fs/cifs/fscache.c | 22 +-
fs/cifs/fscache.h | 10 +-
fs/cifs/misc.c | 109 ----
fs/cifs/smb2ops.c | 367 ++++++-----
fs/cifs/smb2pdu.c | 35 +-
fs/cifs/smbdirect.c | 317 ++++-----
fs/cifs/smbdirect.h | 6 +-
fs/cifs/transport.c | 37 +-
fs/ksmbd/transport_rdma.c | 2 +-
include/linux/uio.h | 8 +
lib/iov_iter.c | 133 ++++
18 files changed, 1124 insertions(+), 1543 deletions(-)