Message ID | 20241031134000.53396-10-cel@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | async COPY fixes for NFSD | expand |
On Thu, 2024-10-31 at 09:40 -0400, cel@kernel.org wrote: > From: Chuck Lever <chuck.lever@oracle.com> > > 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@kernel.org>
From: Chuck Lever <chuck.lever@oracle.com> 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(-)