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


Hi Steve,

Here's a third 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.

ver #3)
- I fixed some things in the RDMA interface after running xfstests.  It now
  correctly chops up requests so that they'll actually fit within the
  available SGE slots, both for short and bulk requests.

- I also fixed both the cifs_readahead and cifs_writepages algorithms, so
  those now work properly - and I found and fixed a memory leak too.

cifs over softRoCE RDMA got as far as generic/138 before the RXE driver
  deadlocked itself.  I've posted a bug report for that.  Lockdep spotted
  the bug right away on mount.

cifs over softIWarp RDMA got as far as generic/006 before triggering a UAF
in the reconnect code, spotted by KASAN.  Both this and the above fail on
the vanilla kernel also.

Beyond the 6 main patches, there are two patches which add some trace
points (if they look of interest to you, I can properly fill out the commit
log) and the patch to make softiwarp work - all three of which can be
dropped.

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 (8):
      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: Trace writedata page wrangling
      cifs: Add some RDMA send tracepoints

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


 fs/cifs/cifsencrypt.c     |   40 +-
 fs/cifs/cifsfs.h          |    6 +
 fs/cifs/cifsglob.h        |   29 +-
 fs/cifs/cifsproto.h       |   11 +-
 fs/cifs/cifssmb.c         |  276 +++++--
 fs/cifs/connect.c         |   16 +
 fs/cifs/file.c            | 1434 ++++++++++++++-----------------------
 fs/cifs/fscache.c         |   22 +-
 fs/cifs/fscache.h         |   10 +-
 fs/cifs/misc.c            |  109 ---
 fs/cifs/smb2ops.c         |  367 +++++-----
 fs/cifs/smb2pdu.c         |   44 +-
 fs/cifs/smbdirect.c       |  335 ++++-----
 fs/cifs/smbdirect.h       |    6 +-
 fs/cifs/trace.h           |  161 +++++
 fs/cifs/transport.c       |   37 +-
 fs/ksmbd/transport_rdma.c |    2 +-
 include/linux/uio.h       |    8 +
 lib/iov_iter.c            |  133 ++++
 19 files changed, 1470 insertions(+), 1576 deletions(-)



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

end of thread, other threads:[~2022-05-31  6:03 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-27 10:43 [PATCH v3 0/9] cifs: Use iov_iters down to the network transport David Howells
2022-05-27 10:44 ` [PATCH v3 1/9] iov_iter: Add a function to extract an iter's buffers to a bvec iter David Howells
2022-05-31  6:03   ` Christoph Hellwig
2022-05-27 10:44 ` [PATCH v3 2/9] iov_iter: Add a general purpose iteration function David Howells
2022-05-27 14:33   ` Al Viro
2022-05-27 10:44 ` [PATCH v3 3/9] cifs: Add some helper functions David Howells
2022-05-27 10:44 ` [PATCH v3 4/9] cifs: Add a function to read into an iter from a socket David Howells
2022-05-27 10:44 ` [PATCH v3 5/9] cifs: Change the I/O paths to use an iterator rather than a page list David Howells
2022-05-27 10:44 ` [PATCH v3 6/9] cifs: Remove unused code David Howells
2022-05-27 10:44 ` [PATCH v3 7/9] cifs: Trace writedata page wrangling David Howells
2022-05-27 10:44 ` [PATCH v3 8/9] cifs: Add some RDMA send tracepoints David Howells
2022-05-27 10:45 ` [PATCH v3 9/9] cifs, ksmbd: Fix MAX_SGE count for softiwarp David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).