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

Add additional rpc flags to DEBUG_REQ_FLAGS

    XMLWordPrintable

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

          People

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

            Dates

              Created:
              Updated:
              Resolved: