|
|
Log in / Subscribe / Register

cifs: Use iov_iters down to the network transport

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




Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds