rep->lock_policy_res2 = mds_reint(req, offset, &lockh);
/* We abort the lock if the lookup was negative and
* we did not make it to the OPEN portion */
+ if (!intent_disposition(rep, DISP_LOOKUP_EXECD))
+ RETURN(ELDLM_LOCK_ABORTED);
if (intent_disposition(rep, DISP_LOOKUP_NEG) &&
!intent_disposition(rep, DISP_OPEN_OPEN))
RETURN(ELDLM_LOCK_ABORTED);
acc_mode |= MAY_WRITE;
/* Step 1: Find and lock the parent */
- intent_set_disposition(rep, DISP_LOOKUP_EXECD);
parent_mode = (rec->ur_flags & O_CREAT) ? LCK_PW : LCK_PR;
parent = mds_fid2locked_dentry(obd, rec->ur_fid1, NULL, parent_mode,
&parent_lockh);
cleanup_phase = 2; /* child dentry */
+ intent_set_disposition(rep, DISP_LOOKUP_EXECD);
if (dchild->d_inode)
intent_set_disposition(rep, DISP_LOOKUP_POS);
else