- CDEBUG(D_INODE, "getattr with lock for "DFID"/"DNAME", "
- "ldlm_rep = %p\n", PFID(mdt_object_fid(parent)),
- PNAME(lname), ldlm_rep);
- }
- }
-
- mdt_set_disposition(info, ldlm_rep, DISP_LOOKUP_EXECD);
-
- if (unlikely(!mdt_object_exists(parent)) && lu_name_is_valid(lname)) {
- LU_OBJECT_DEBUG(D_INODE, info->mti_env,
- &parent->mot_obj,
- "Parent doesn't exist!\n");
- RETURN(-ESTALE);
- } else if (!info->mti_cross_ref) {
- LASSERTF(!mdt_object_remote(parent),
- "Parent "DFID" is on remote server\n",
- PFID(mdt_object_fid(parent)));
- }
-
- if (lu_name_is_valid(lname)) {
- rc = mdt_raw_lookup(info, parent, lname, ldlm_rep);
- if (rc != 0) {
- if (rc > 0)
- rc = 0;
- RETURN(rc);
- }
- }
-
- if (info->mti_cross_ref) {
- /* Only getattr on the child. Parent is on another node. */
- mdt_set_disposition(info, ldlm_rep, DISP_LOOKUP_POS);
- child = parent;
- CDEBUG(D_INODE, "partial getattr_name child_fid = "DFID", "
- "ldlm_rep=%p\n", PFID(mdt_object_fid(child)), ldlm_rep);
-
- if (is_resent) {
- /* Do not take lock for resent case. */
- lock = ldlm_handle2lock(&lhc->mlh_reg_lh);
- LASSERTF(lock != NULL, "Invalid lock handle "LPX64"\n",
- lhc->mlh_reg_lh.cookie);
- LASSERT(fid_res_name_eq(mdt_object_fid(child),
- &lock->l_resource->lr_name));
- LDLM_LOCK_PUT(lock);
- rc = 0;
- } else {