NFSD: Make nfsd4_remove() wait before returning NFS4ERR_DELAY
[ Upstream commit 5f5f8b6d ] nfsd_unlink() can kick off a CB_RECALL (via vfs_unlink() -> leases_conflict()) if a delegation is present. Before returning NFS4ERR_DELAY, give the client holding that delegation a chance to return it and then retry the nfsd_unlink() again, once. Link: https://bugzilla.linux-nfs.org/show_bug.cgi?id=354 Tested-by:Igor Mammedov <imammedo@redhat.com> Reviewed-by:
Jeff Layton <jlayton@kernel.org> [ cel: backported to 5.10.y, prior to idmapped mounts ] Signed-off-by:
Chuck Lever <chuck.lever@oracle.com> Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading