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

mdt_open_by_fid_lock() may return -EREMOTE without setting lock handle

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.7.0
    • Lustre 2.7.0
    • 3
    • 14974

    Description

      In mdt_open_by_fid_lock() if rr_fid2 designates a remote object then we return -EREMOTE without taking a lock. Later in mdt_intent_reint() this will crash:

             /* the open lock or the lock for cross-ref object should be                       
               * returned to the client */
              if (rc == -EREMOTE || mdt_get_disposition(rep, DISP_OPEN_LOCK)) {
                      LASSERT(lustre_handle_is_used(&lhc->mlh_reg_lh));
                      rep->lock_policy_res2 = 0;
                      rc = mdt_intent_lock_replace(info, lockp, lhc, flags);
                      RETURN(rc);
              }
      

      Attachments

        Issue Links

          Activity

            People

              jhammond John Hammond
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: