| From: |
| David Howells <dhowells-AT-redhat.com> |
| To: |
| Steve French <smfrench-AT-gmail.com> |
| Subject: |
| [PATCH 0/6] cifs: Use iov_iters down to the network transport |
| Date: |
| Mon, 09 May 2022 17:36:06 +0100 |
| Message-ID: |
| <165211416682.3154751.17287804906832979514.stgit@warthog.procyon.org.uk> |
| Cc: |
| Steve French <sfrench-AT-samba.org>, linux-cifs-AT-vger.kernel.org, Shyam Prasad N <nspmangalore-AT-gmail.com>, Rohith Surabattula <rohiths.msft-AT-gmail.com>, dhowells-AT-redhat.com, Shyam Prasad N <nspmangalore-AT-gmail.com>, Rohith Surabattula <rohiths.msft-AT-gmail.com>, Jeff Layton <jlayton-AT-kernel.org>, Al Viro <viro-AT-zeniv.linux.org.uk>, linux-cifs-AT-vger.kernel.org, linux-fsdevel-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org |
| Archive-link: |
| Article |
Hi Steve,
Here's 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 a couple of bugs in it also, including the RCU warning you were
seeing. I'm seeing some slow calls, however, but I'm not sure how to debug
them. RDMA also needs looking at, but I'm not sure how the RDMA API works.
I've pushed the patches here also:
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/...
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
fs/cifs/cifsencrypt.c | 40 +-
fs/cifs/cifsfs.h | 3 +
fs/cifs/cifsglob.h | 28 +-
fs/cifs/cifsproto.h | 11 +-
fs/cifs/cifssmb.c | 225 +++++---
fs/cifs/connect.c | 16 +
fs/cifs/file.c | 1263 ++++++++++++++---------------------------
fs/cifs/misc.c | 109 ----
fs/cifs/smb2ops.c | 366 ++++++------
fs/cifs/smb2pdu.c | 12 +-
fs/cifs/transport.c | 37 +-
include/linux/uio.h | 8 +
lib/iov_iter.c | 133 +++++
13 files changed, 935 insertions(+), 1316 deletions(-)