]> www.infradead.org Git - users/jedix/linux-maple.git/commit
NFSD: Block DESTROY_CLIENTID only when there are ongoing async COPY operations
authorChuck Lever <chuck.lever@oracle.com>
Thu, 31 Oct 2024 13:40:06 +0000 (09:40 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Tue, 19 Nov 2024 01:23:10 +0000 (20:23 -0500)
commitb44ffa4c4f57ffe8a0967963538689fed169f1c8
tree8a38775cc5106e61c5c81f8468d336f7518abcdd
parent5c41f321470a5400641d3a271014ddd9b9868373
NFSD: Block DESTROY_CLIENTID only when there are ongoing async COPY operations

Currently __destroy_client() consults the nfs4_client's async_copies
list to determine whether there are ongoing async COPY operations.
However, NFSD now keeps copy state in that list even when the
async copy has completed, to enable OFFLOAD_STATUS to find the
COPY results for a while after the COPY has completed.

DESTROY_CLIENTID should not be blocked if the client's async_copies
list contains state for only completed copy operations.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4state.c
fs/nfsd/state.h