nfsd: always release slot when requeueing callback

If the callback is going to be requeued to the workqueue, then release
the slot. The callback client and session could change and the slot may
no longer be valid after that point.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
Jeff Layton
2025-02-09 07:31:24 -05:00
committed by Chuck Lever
parent 6c1cefb84b
commit 43fa8905db

View File

@@ -1405,6 +1405,7 @@ static bool nfsd4_cb_sequence_done(struct rpc_task *task, struct nfsd4_callback
rpc_restart_call_prepare(task);
goto out;
requeue:
nfsd41_cb_release_slot(cb);
nfsd4_requeue_cb(task, cb);
return false;
}