Re: [PATCH v3 0/7] Wait for DELEGRETURN before returning NFS4ERR_DELAY

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

 



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>




[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