mbox series

[0/7] smb3: Add iter helpers and use iov_iters down to the network transport

Message ID 166126392703.708021.14465850073772688008.stgit@warthog.procyon.org.uk (mailing list archive)
Headers show
Series smb3: Add iter helpers and use iov_iters down to the network transport | expand

Message

David Howells Aug. 23, 2022, 2:12 p.m. UTC
Hi Steve, Al,

Here's an updated version of a subset of my branch to make the cifs/smb3
driver pass iov_iters down to the lowest layers where they can be passed to
the network transport.

Al: Could you look at the first two patches, that add extract_iter_to_iter()
to see about decanting iterators of various types (but that might have to be
lost) into iterators that can be held on to (pinning pages in the process),
and iov_iter_scan() which passes each partial page of an iterator to a scanner
function to do something with (such as create an sglist element for).

Possibly I should add an extract_iter_to_sglist() - I'm doing that in a number
of places.

Steve: assuming Al is okay with the iov_iter patches, can you look at taking
this into your tree (or should it go through mine?)?

I've pushed the patches here also:

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

David
---
David Howells (7):
      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
      cifs: Add some RDMA send tracepoints


 fs/cifs/cifsencrypt.c |   40 +-
 fs/cifs/cifsfs.h      |    3 +
 fs/cifs/cifsglob.h    |   28 +-
 fs/cifs/cifsproto.h   |   11 +-
 fs/cifs/cifssmb.c     |   13 +-
 fs/cifs/connect.c     |   16 +
 fs/cifs/file.c        | 1653 ++++++++++++++++++-----------------------
 fs/cifs/fscache.c     |   22 +-
 fs/cifs/fscache.h     |   10 +-
 fs/cifs/misc.c        |  108 ---
 fs/cifs/smb2ops.c     |  369 +++++----
 fs/cifs/smb2pdu.c     |   44 +-
 fs/cifs/smbdirect.c   |  335 ++++-----
 fs/cifs/smbdirect.h   |    4 +-
 fs/cifs/trace.h       |   95 +++
 fs/cifs/transport.c   |   54 +-
 include/linux/uio.h   |    8 +
 lib/iov_iter.c        |  159 +++-
 18 files changed, 1391 insertions(+), 1581 deletions(-)