Details
-
Bug
-
Resolution: Fixed
-
Critical
-
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); }