mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
NFSv4.1: Fix a deadlock in layoutget
commit8ac092519aupstream. We cannot call nfs4_handle_exception() without first ensuring that the slot has been freed. If not, we end up deadlocking with the process waiting for recovery to complete, and recovery waiting for the slot table to drain. Fixes:2e80dbe7ac("NFSv4.1: Close callback races for OPEN, LAYOUTGET...") Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
73fdda3b01
commit
0a70235061
@@ -8371,6 +8371,7 @@ nfs4_layoutget_handle_exception(struct rpc_task *task,
|
||||
goto out;
|
||||
}
|
||||
|
||||
nfs4_sequence_free_slot(&lgp->res.seq_res);
|
||||
err = nfs4_handle_exception(server, nfs4err, exception);
|
||||
if (!status) {
|
||||
if (exception->retry)
|
||||
|
||||
Reference in New Issue
Block a user