Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-12333

Add additional rpc flags to DEBUG_REQ_FLAGS

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.13.0
    • 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

          [LU-12333] Add additional rpc flags to DEBUG_REQ_FLAGS

          People

            hornc Chris Horn
            hornc Chris Horn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: