On Thu, 2024-10-31 at 09:40 -0400, cel@xxxxxxxxxx wrote: > From: Chuck Lever <chuck.lever@xxxxxxxxxx> > > Extend the life of async COPY state IDs so that clients get > actionable OFFLOAD_STATUS results after COPY operations complete. > This lifetime extension comports with RFC 7862, although does not > bring NFSD fully into compliance. > > There are a number of other small fixes to improve observability, > behavior during temporary resource shortages, and behavior during > client shutdown. > > Async COPY remains disabled in NFSD until the Linux client has grown > support for OFFLOAD_STATUS. Patches for that are available in the > "fix-async-copy" branch of: > > https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git > > Changes since previous versions: > - Loads of testing, improvements, and re-organization > > Chuck Lever (8): > NFSD: Add a tracepoint to record canceled async COPY operations > NFSD: Fix nfsd4_shutdown_copy() > NFSD: Free async copy information in nfsd4_cb_offload_release() > NFSD: Handle an NFS4ERR_DELAY response to CB_OFFLOAD > NFSD: Block DESTROY_CLIENTID only when there are ongoing async COPY > operations > NFSD: Add a laundromat reaper for async copy state > NFSD: Add nfsd4_copy time-to-live > NFSD: Send CB_OFFLOAD on graceful shutdown > > fs/nfsd/nfs4proc.c | 101 ++++++++++++++++++++++++++++++++++++++++---- > fs/nfsd/nfs4state.c | 3 +- > fs/nfsd/state.h | 17 ++++++++ > fs/nfsd/trace.h | 11 ++++- > fs/nfsd/xdr4.h | 6 +++ > 5 files changed, 128 insertions(+), 10 deletions(-) > This looks fine to me overall. Most of my comments were pretty minor and can be addressed after the fact. Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>