All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] cifs: Use iov_iters down to the network transport
@ 2022-05-25 14:26 David Howells
  2022-05-25 14:26 ` [PATCH 1/7] iov_iter: Add a function to extract an iter's buffers to a bvec iter David Howells
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: David Howells @ 2022-05-25 14:26 UTC (permalink / raw)
  To: Steve French
  Cc: linux-cifs, Rohith Surabattula, Shyam Prasad N, Steve French,
	dhowells, Shyam Prasad N, Rohith Surabattula, Jeff Layton,
	Al Viro, linux-cifs, linux-fsdevel, linux-kernel


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(-)



^ permalink raw reply	[flat|nested] 13+ messages in thread
* [PATCH 0/7] smb3: Add iter helpers and use iov_iters down to the network transport
@ 2022-08-23 14:12 David Howells
  2022-08-23 14:12 ` [PATCH 1/7] iov_iter: Add a function to extract an iter's buffers to a bvec iter David Howells
  0 siblings, 1 reply; 13+ messages in thread
From: David Howells @ 2022-08-23 14:12 UTC (permalink / raw)
  To: Steve French, Al Viro
  Cc: linux-cifs, Steve French, Rohith Surabattula, Shyam Prasad N,
	dhowells, Shyam Prasad N, Rohith Surabattula, Jeff Layton,
	linux-cifs, linux-fsdevel, linux-kernel


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(-)



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-10-14 14:07 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-25 14:26 [PATCH 0/7] cifs: Use iov_iters down to the network transport David Howells
2022-05-25 14:26 ` [PATCH 1/7] iov_iter: Add a function to extract an iter's buffers to a bvec iter David Howells
2022-05-25 14:26 ` [PATCH 2/7] iov_iter: Add a general purpose iteration function David Howells
2022-05-25 14:26 ` [PATCH 3/7] cifs: Add some helper functions David Howells
2022-05-25 14:26 ` [PATCH 4/7] cifs: Add a function to read into an iter from a socket David Howells
2022-05-25 14:26 ` [PATCH 5/7] cifs: Change the I/O paths to use an iterator rather than a page list David Howells
2022-05-25 14:26 ` [PATCH 6/7] cifs: Remove unused code David Howells
2022-05-25 14:26 ` [PATCH 7/7] cifs, ksmbd: Fix MAX_SGE count for softiwarp David Howells
2022-05-25 15:32 ` [PATCH 0/7] cifs: Use iov_iters down to the network transport Tom Talpey
2022-08-23 14:12 [PATCH 0/7] smb3: Add iter helpers and use " David Howells
2022-08-23 14:12 ` [PATCH 1/7] iov_iter: Add a function to extract an iter's buffers to a bvec iter David Howells
2022-08-24  3:52   ` Christoph Hellwig
2022-08-26 21:21   ` Al Viro
2022-10-14 14:06   ` David Howells

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.