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.
Attachments
Activity
Resolution | New: Fixed [ 1 ] | |
Status | Original: Reopened [ 4 ] | New: Resolved [ 5 ] |
Resolution | Original: Fixed [ 1 ] | |
Status | Original: Resolved [ 5 ] | New: Reopened [ 4 ] |
Fix Version/s | New: Lustre 2.13.0 [ 14290 ] | |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Open [ 1 ] | New: Resolved [ 5 ] |
Assignee | Original: WC Triage [ wc-triage ] | New: Chris Horn [ hornc ] |