On Mon, 2022-08-08 at 09:52 -0400, Chuck Lever wrote: > This RFC series adds logic to the Linux NFS server to make it wait a > few moments for clients to return a delegation before replying with > NFS4ERR_DELAY. There are two main benefits: > > - This improves responsiveness when a delegated file is accessed > from another client > - This removes an unnecessary latency if a client has neglected to > return a delegation before attempting a RENAME or SETATTR > > This series is incomplete: > - There are likely other operations that can benefit (eg. OPEN) > > This series applies against v5.19. > > Changes since v2: > - Wake immediately after client sends DELEGRETURN > - More tracepoint improvements > > Changes since RFC: > - Eliminate spurious console messages on the server > - Wait for DELEGRETURN for RENAME operations ^^^^ Does REMOVE need similar treatment? Does the Apple client return a delegation before attempting to unlink? > - Add CB done tracepoints > - Rework the retry loop > > --- > > Chuck Lever (7): > NFSD: Instrument fh_verify() > NFSD: Replace dprintk() call site in fh_verify() > NFSD: Trace NFSv4 COMPOUND tags > NFSD: Add tracepoints to report NFSv4 callback completions > NFSD: Add a mechanism to wait for a DELEGRETURN > NFSD: Make nfsd4_setattr() wait before returning NFS4ERR_DELAY > NFSD: Make nfsd4_rename() wait before returning NFS4ERR_DELAY > > > fs/nfsd/nfs4layouts.c | 2 +- > fs/nfsd/nfs4proc.c | 56 +++++++++++--- > fs/nfsd/nfs4state.c | 35 +++++++++ > fs/nfsd/nfsd.h | 1 + > fs/nfsd/nfsfh.c | 13 +--- > fs/nfsd/trace.h | 171 ++++++++++++++++++++++++++++++++++++++++-- > fs/nfsd/xdr4.h | 2 + > 7 files changed, 251 insertions(+), 29 deletions(-) > > -- > Chuck Lever > The new tracepoints are nice and the patchset makes sense. You can add: Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>