[lustre-devel] [PATCH 11/50] lustre: fld: don't obtain a slot for fld request
James Simmons
jsimmons at infradead.org
Sun Mar 20 06:30:25 PDT 2022
From: Andriy Skulysh <c17819 at cray.com>
fld_client_rpc() is called with ldlm_lock held.
Thus it can cause deadlock on obtainig request slot:
Request slot can be ommited for fld request as they
are sent to separate FLD_REQUEST_PORTAL portal.
HPE-bug-id: LUS-10576
WC-bug-id: https://jira.whamcloud.com/browse/LU-15401
Lustre-commit: be5ed6b393e0268ff ("LU-15401 fld: don't obtain a slot for fld request")
Signed-off-by: Andriy Skulysh <c17819 at cray.com>
Reviewed-by: Vitaly Fertman <c17818 at cray.com>
Reviewed-by: Andrew Perepechko <c17827 at cray.com>
Reviewed-on: https://review.whamcloud.com/45956
Reviewed-by: Andrew Perepechko <andrew.perepechko at hpe.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman at hpe.com>
Reviewed-by: Oleg Drokin <green at whamcloud.com>
Signed-off-by: James Simmons <jsimmons at infradead.org>
---
fs/lustre/fld/fld_request.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/fs/lustre/fld/fld_request.c b/fs/lustre/fld/fld_request.c
index 4180bcf..b365dc2 100644
--- a/fs/lustre/fld/fld_request.c
+++ b/fs/lustre/fld/fld_request.c
@@ -368,9 +368,7 @@ int fld_client_rpc(struct obd_export *exp,
rc = -EAGAIN;
req->rq_status = rc;
} else {
- obd_get_request_slot(&exp->exp_obd->u.cli);
rc = ptlrpc_queue_wait(req);
- obd_put_request_slot(&exp->exp_obd->u.cli);
}
if (rc != 0) {
--
1.8.3.1
More information about the lustre-devel
mailing list