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

mdt_open_by_fid_lock() may return -EREMOTE without setting lock handle

XMLWordPrintable

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

      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);
              }
      

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

              Created:
              Updated:
              Resolved: