public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@kernel.org>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
	Jeff Layton <jlayton@kernel.org>,
	Anna Schumaker <anna@kernel.org>,
	Trond Myklebust <trondmy@hammerspace.com>,
	Neil Brown <neilb@suse.de>,
	"snitzer@hammerspace.com" <snitzer@hammerspace.com>
Subject: Re: [PATCH v9 00/19] nfs/nfsd: add support for localio
Date: Sat, 29 Jun 2024 15:10:19 -0400	[thread overview]
Message-ID: <ZoBcGxAsPuguaR7q@kernel.org> (raw)
In-Reply-To: <ZoA+Bas+GV8lmRU7@tissot.1015granger.net>

On Sat, Jun 29, 2024 at 01:01:57PM -0400, Chuck Lever wrote:
> 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@kernel.org> 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.

I'm "done" with both afaik.  Only thing that needs settling is that
XFS RFC patch I posted.

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

Probably best to have it all go through the same tree.  Just get proper
Acked-by:s where needed.

I would say it is more client heavy (in terms of code foot-print) so
maybe it does make more sense to go through NFS.  Anna is handling the
6.11 merge for NFS so let's just work on getting proper Acked-by.

If you, Jeff and Neil could do a final review and provide Acked-by (or
conditional Acked-by if I fold your suggestions in for v10) I'll add
all your final feedback and Acked-by:s or Reviewed-by:s so Anna will
be able to simply pick it up once the NFS client side is also
reviewed.

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

Right, no new tests added to xfstests, it was purely configuration to
get xfstests running on single host in loopback mode (NFS client
mounting export from knfsd on same host).

Would be great if you could point your kdevops at my localio-for-6.11
branch.  You just need to make sure to enable these in your Kconfig:

CONFIG_NFSD_LOCALIO=y
CONFIG_NFS_LOCALIO=y
CONFIG_NFS_COMMON_LOCALIO_SUPPORT=y

(either of the NFS or NFSD options will select
CONFIG_NFS_COMMON_LOCALIO_SUPPORT)

  reply	other threads:[~2024-06-29 19:10 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-28 21:10 [PATCH v9 00/19] nfs/nfsd: add support for localio Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 01/19] nfs: pass nfs_client to nfs_initiate_pgio Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 02/19] nfs: pass descriptor thru nfs_initiate_pgio path Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 03/19] nfs: pass struct file to nfs_init_pgio and nfs_init_commit Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 04/19] sunrpc: add rpcauth_map_to_svc_cred_local Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 05/19] nfs_common: add NFS LOCALIO auxiliary protocol enablement Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 06/19] nfs: add "localio" support Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 07/19] nfs/localio: fix nfs_localio_vfs_getattr() to properly support v4 Mike Snitzer
2024-06-29 15:50   ` Chuck Lever
2024-06-30 22:01     ` NeilBrown
2024-06-30 22:23       ` Chuck Lever
2024-06-28 21:10 ` [PATCH v9 08/19] nfs: enable localio for non-pNFS I/O Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 09/19] pnfs/flexfiles: Enable localio for flexfiles I/O Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 10/19] nfs: factor out {encode,decode}_opaque_fixed to nfs_xdr.h Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 11/19] SUNRPC: remove call_allocate() BUG_ON if p_arglen=0 to allow RPC with void arg Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 12/19] nfs: implement client support for NFS_LOCALIO_PROGRAM Mike Snitzer
2024-06-28 21:10 ` [PATCH v9 13/19] nfsd: add "localio" support Mike Snitzer
2024-06-29 22:18   ` Chuck Lever
2024-06-30 14:49     ` Chuck Lever
2024-06-30 19:44       ` Mike Snitzer
2024-06-30 19:52         ` Jeff Layton
2024-06-30 19:55           ` Chuck Lever
2024-06-30 19:59             ` Jeff Layton
2024-06-30 20:15               ` Chuck Lever
2024-06-30 21:07                 ` Jeff Layton
2024-06-30 21:56                   ` NeilBrown
2024-06-30 21:54               ` NeilBrown
2024-07-01  1:29                 ` NeilBrown
2024-06-30 19:51     ` Jeff Layton
2024-06-30 22:22     ` NeilBrown
2024-06-30 22:34       ` Chuck Lever
2024-06-28 21:11 ` [PATCH v9 14/19] nfsd/localio: manage netns reference in nfsd_open_local_fh Mike Snitzer
2024-06-28 21:11 ` [PATCH v9 15/19] nfsd: use percpu_ref to interlock nfsd_destroy_serv and nfsd_open_local_fh Mike Snitzer
2024-06-28 21:11 ` [PATCH v9 16/19] nfsd: add Kconfig options to allow localio to be enabled Mike Snitzer
2024-06-28 21:11 ` [PATCH v9 17/19] nfsd: implement server support for NFS_LOCALIO_PROGRAM Mike Snitzer
2024-06-28 21:11 ` [PATCH v9 18/19] SUNRPC: replace program list with program array Mike Snitzer
2024-06-29 16:00   ` Chuck Lever
2024-06-30 21:57     ` NeilBrown
2024-06-28 21:11 ` [PATCH v9 19/19] nfs: add Documentation/filesystems/nfs/localio.rst Mike Snitzer
2024-06-29 15:36 ` [PATCH v9 00/19] nfs/nfsd: add support for localio Chuck Lever III
2024-06-29 16:03   ` Mike Snitzer
2024-06-29 17:01     ` Chuck Lever
2024-06-29 19:10       ` Mike Snitzer [this message]
2024-06-29 20:31         ` Chuck Lever III

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZoBcGxAsPuguaR7q@kernel.org \
    --to=snitzer@kernel.org \
    --cc=anna@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=jlayton@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=snitzer@hammerspace.com \
    --cc=trondmy@hammerspace.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox