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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jun 29, 2024 at 12:03:50PM -0400, Mike Snitzer wrote:
> On Sat, Jun 29, 2024 at 03:36:10PM +0000, Chuck Lever III wrote:
> > 
> > 
> > > On Jun 28, 2024, at 5:10 PM, Mike Snitzer <snitzer@xxxxxxxxxx> 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.

I didn't notice that because my MUA displayed the patches completely
out of order. Apologies!


> 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 /did/ notice that.


> 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.

Alternately, I can take the NFSD-related patches in 6.11, and the
client changes can go in 6.12. My impression (could be wrong) was
that the NFSD patches were nearly ready but the client side was
still churning a little.

Or we might decide that it's not worth the trouble. Anna offered to
take the whole series, or I can. If Anna takes it, I'll send
Acked-by for the NFSD patches.


> 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.
> 
> > > 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.

Yes, off-list wfm.

Come to think of it, it might just work to point my test systems to
your git branch and let it rip, if there are no new tests. I will
try that.


-- 
Chuck Lever




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux