Thread (44 messages) 44 messages, 4 authors, 2024-07-01

Re: [PATCH v9 00/19] nfs/nfsd: add support for localio

From: Mike Snitzer <snitzer@kernel.org>
Date: 2024-06-29 16:03:52

On Sat, Jun 29, 2024 at 03:36:10PM +0000, Chuck Lever III wrote:
quoted
On Jun 28, 2024, at 5:10 PM, Mike Snitzer [off-list ref] wrote:

Hi,

I'd prefer to see these changes land upstream for 6.11 if possible.
They are adequately Kconfig'd to certainly pose no risk if disabled.
And even if localio enabled it has proven to work well with increased
testing.
Can v10 split this series into an NFS client part and an NFS
server part? I will need to get the NFSD changes into nfsd-next
in the next week or so to land in v6.11.
I forgot to mention this as a v9 improvement: I did split the series,
but left it as one patchset.

Patches 1-12 are NFS client, Patches 13-19 are NFSD.

Here is the diffstat for NFS (patches 1 - 12):

 fs/Kconfig                                |    3
 fs/nfs/Kconfig                            |   14
 fs/nfs/Makefile                           |    1
 fs/nfs/blocklayout/blocklayout.c          |    6
 fs/nfs/client.c                           |   15
 fs/nfs/filelayout/filelayout.c            |   16
 fs/nfs/flexfilelayout/flexfilelayout.c    |  131 ++++
 fs/nfs/flexfilelayout/flexfilelayout.h    |    2
 fs/nfs/flexfilelayout/flexfilelayoutdev.c |    6
 fs/nfs/inode.c                            |    4
 fs/nfs/internal.h                         |   60 ++
 fs/nfs/localio.c                          |  827 ++++++++++++++++++++++++++++++
 fs/nfs/nfs4xdr.c                          |   13
 fs/nfs/nfstrace.h                         |   61 ++
 fs/nfs/pagelist.c                         |   32 -
 fs/nfs/pnfs.c                             |   24
 fs/nfs/pnfs.h                             |    6
 fs/nfs/pnfs_nfs.c                         |    2
 fs/nfs/write.c                            |   13
 fs/nfs_common/Makefile                    |    3
 fs/nfs_common/nfslocalio.c                |   74 ++
 fs/nfsd/netns.h                           |    4
 fs/nfsd/nfssvc.c                          |   12
 include/linux/nfs.h                       |    9
 include/linux/nfs_fs.h                    |    2
 include/linux/nfs_fs_sb.h                 |   10
 include/linux/nfs_xdr.h                   |   20
 include/linux/nfslocalio.h                |   39 +
 include/linux/sunrpc/auth.h               |    4
 net/sunrpc/auth.c                         |   15
 net/sunrpc/clnt.c                         |    1
 31 files changed, 1354 insertions(+), 75 deletions(-)

Unfortunately there are the fs/nfsd/netns.h and fs/nfsd/nfssvc.c
changes that anchor everything (patch 5).

I suppose we could invert the order, such that NFSD comes before NFS
changes.  But then the NFS tree will need to be rebased on NFSD tree.

Diffstat for NFSD (patches 13 - 19):

 Documentation/filesystems/nfs/localio.rst |  135 ++++++++++++
 fs/nfsd/Kconfig                           |   14 +
 fs/nfsd/Makefile                          |    1 
 fs/nfsd/filecache.c                       |    2 
 fs/nfsd/localio.c                         |  319 ++++++++++++++++++++++++++++++
 fs/nfsd/netns.h                           |    8 
 fs/nfsd/nfsctl.c                          |    2 
 fs/nfsd/nfsd.h                            |    2 
 fs/nfsd/nfssvc.c                          |  104 +++++++--
 fs/nfsd/trace.h                           |    3 
 fs/nfsd/vfs.h                             |    9 
 include/linux/nfslocalio.h                |    2 
 include/linux/sunrpc/svc.h                |    7 
 net/sunrpc/svc.c                          |   68 +++---
 net/sunrpc/svc_xprt.c                     |    2 
 net/sunrpc/svcauth_unix.c                 |    3 
 16 files changed, 621 insertions(+), 60 deletions(-)

Happy to work it however you think is best.
quoted
Worked with Kent Overstreet to enable testing integration with ktest
running xfstests, the dashboard is here:
https://evilpiepirate.org/~testdashboard/ci?branch=snitm-nfs
(it is running way more xfstests tests than is usual for nfs, would be
good to reconcile that with the listing provided here:
https://wiki.linux-nfs.org/wiki/index.php/Xfstests )
Actually, we're using kdevops for NFSD CI testing. Any possibility
that we can get some help setting that up? (It runs xfstests and
several other workflows).
Sure, I can get with you off-list if that's best?  I just need some
pointers/access to help get it going.

Thanks,
Mike
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help