Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
Lustre 2.13.0
-
None
-
9223372036854775807
Description
The PtlRPC state machine relies on flags in the ptlrpc_request structure to transition from one request state to another. When a request is in the RQ_PHASE_UNREG_RPC state there are three flags relevant to the request's ability to transition.
From ptlrpc_check_set():
if (req->rq_phase == RQ_PHASE_UNREG_RPC && ptlrpc_client_recv_or_unlink(req)) continue;
and from ptlrpc_client_recv_or_unlink():
rc = !req->rq_req_unlinked || !req->rq_reply_unlinked || req->rq_receiving_reply;
None of those three flags are printed by the DEBUG_REQ_FLAGS macro. Historically this has made it a little more difficult to troubleshoot bugs resulting in RPCs that are stuck in the unregistering state. Those flags should be added to the macro.
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35090/
Subject:
LU-12333ptlrpc: Add more flags to DEBUG_REQ_FLAGS macroProject: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 3e43d06810e69fdccd815bbbf5e4b50930d33ee7