Details

    • Bug
    • Resolution: Fixed
    • Blocker
    • Lustre 2.7.0
    • None
    • None
    • 3
    • 15943

    Description

      Although very liketly, but there is no guarantee that request_out_callback will happen before reply_in_callback, if a request got reply before got request_out_callback(), then ptlrpc_unregister_reply() will return false because request has not been unlinked and req:;rq_req_unlink is not set to false.

      static inline int                       
      ptlrpc_client_recv_or_unlink(struct ptlrpc_request *req)
      {               
              int rc;
                      
              spin_lock(&req->rq_lock);          
              ......
              rc = req->rq_receiving_reply ;
              rc = rc || req->rq_req_unlink || req->rq_reply_unlink;
              spin_unlock(&req->rq_lock);
              return rc;
      }         
      

      After this, even request_in_callback() happened, there is no wakeup for this request, ptlrpcd or app thread will keep waiting.

      Attachments

        Activity

          [LU-5696] missing wakeup for ptlrpc_check_set

          Chris, yes I believe so

          liang Liang Zhen (Inactive) added a comment - Chris, yes I believe so
          hornc Chris Horn added a comment -

          Duplicate of LU-5341?

          hornc Chris Horn added a comment - Duplicate of LU-5341 ?
          pjones Peter Jones added a comment -

          Landed for 2.7

          pjones Peter Jones added a comment - Landed for 2.7

          Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12158/
          Subject: LU-5696 ptlrpc: missing wakeup for ptlrpc_check_set
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: b8e981df1ae9866cc02650205e18ee42835f5822

          gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12158/ Subject: LU-5696 ptlrpc: missing wakeup for ptlrpc_check_set Project: fs/lustre-release Branch: master Current Patch Set: Commit: b8e981df1ae9866cc02650205e18ee42835f5822

          Liang Zhen (liang.zhen@intel.com) uploaded a new patch: http://review.whamcloud.com/12874
          Subject: LU-5696 ptlrpc: unlink request buffer before completing RPC
          Project: fs/lustre-hpdd
          Branch: b_ieel2_0
          Current Patch Set: 1
          Commit: bcb257bd19a2a50b265e8a3f3a180aa36ffe5c17

          gerrit Gerrit Updater added a comment - Liang Zhen (liang.zhen@intel.com) uploaded a new patch: http://review.whamcloud.com/12874 Subject: LU-5696 ptlrpc: unlink request buffer before completing RPC Project: fs/lustre-hpdd Branch: b_ieel2_0 Current Patch Set: 1 Commit: bcb257bd19a2a50b265e8a3f3a180aa36ffe5c17
          liang Liang Zhen (Inactive) added a comment - patch is here: http://review.whamcloud.com/12158

          People

            liang Liang Zhen (Inactive)
            liang Liang Zhen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: