Re: [PATCH 1/1] nfsd: fix handling of WANT_DELEG_TIMESTAMPS on open

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

 



On Fri, 2024-09-20 at 18:18 +0000, Chuck Lever III wrote:
> 
> > On Sep 20, 2024, at 12:34 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> > 
> > On Fri, 2024-09-20 at 16:30 +0000, Chuck Lever III wrote:
> > > 
> > > > On Sep 20, 2024, at 12:24 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> > > > 
> > > > On Fri, 2024-09-20 at 12:05 -0400, Olga Kornievskaia wrote:
> > > > > Current, the server returns that it supports NFS4_SHARE_WANT_DELEG_TIMESTAMPS
> > > > > but when the client sends that on the open, knfsd returns back with
> > > > > bad_xdr error.
> > > > > 
> > > > > Fixes: d0eab73d48a0 ("nfsd: add support for delegated timestamps")
> > > > > Signed-off-by: Olga Kornievskaia <okorniev@xxxxxxxxxx>
> > > > > ---
> > > > > fs/nfsd/nfs4xdr.c | 1 +
> > > > > 1 file changed, 1 insertion(+)
> > > > > 
> > > > > diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
> > > > > index c0bad580ab6d..adda8b489175 100644
> > > > > --- a/fs/nfsd/nfs4xdr.c
> > > > > +++ b/fs/nfsd/nfs4xdr.c
> > > > > @@ -1109,6 +1109,7 @@ static __be32 nfsd4_decode_share_access(struct nfsd4_compoundargs *argp, u32 *sh
> > > > > case NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED:
> > > > > case (NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL |
> > > > >      NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED):
> > > > > + case NFS4_SHARE_WANT_DELEG_TIMESTAMPS:
> > > > > return nfs_ok;
> > > > > }
> > > > > return nfserr_bad_xdr;
> > > > 
> > > > Ouch.
> > > > 
> > > > The problem here is that we had to drop the patch that added
> > > > OPEN_XOR_DELEGATION support. That patch reworked the flag handling in
> > > > this function in a way that allowed the new delstid flags to be
> > > > properly supported.
> > > > 
> > > > I think we probably want to resurrect the parts of this patch that
> > > > alter nfsd4_decode_share_access:
> > > > 
> > > > https://lore.kernel.org/linux-nfs/20240905-delstid-v4-8-d3e5fd34d107@xxxxxxxxxx/
> > > > 
> > > > Olga, would you be OK with that approach instead?
> > > 
> > > At this point, I'd like to consider postponing the delstid patches
> > > until v6.13. They haven't gotten enough testing in their current
> > > form...
> > 
> > It's your call, but that seems like an extreme reaction to a flag
> > handling fix, given that we have several weeks of -rc's ahead of us.
> 
> It's not just this small problem that worries me.
> 
> I pulled in v4 of the delstid patches pretty much at the last
> moment for v6.12 development. So far, there's been an 80%
> performance regression, and the surgery to work around that
> issue introduced another bug that invalidates all NFSv4.2 test
> results since that surgery, just a week ago.
> 
> The delstid patches impact an already heavily-used code path
> (OPEN). You've already found one or two bugs in the client
> side as well. This isn't something the can be disabled by
> distros until it is ready -- it's baked into a popular code
> path as soon as it goes upstream, and NFSv4.2 is the current
> default.
> 
> So I can't say with confidence that this code is stable and
> ready to merge. If we had another week or two before v6.11
> final, there wouldn't be a question, but it's already a week
> into the v6.12 merge window, and I need to submit a pull
> request in the next few days. A 6.11-rc8 would have been
> extremely helpful, but we didn't get one.
> 
> Exposing this change set to the cauldron that is bake-a-thon
> would be valuable, IMO, for both the client and the server.
> 

Fair enough. These are not features that anyone is particularly
clamoring for, so dropping them for now is fine. I'll plan to spin up a
new set once I'm back from travel (another week or so).

-- 
Jeff Layton <jlayton@xxxxxxxxxx>





[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