Whamcloud - gitweb
LU-82 Remove useless clio locks
[fs/lustre-release.git] / lustre / mdt / mdt_lib.c
index 0d3307a..2a3b4a0 100644 (file)
@@ -26,7 +26,7 @@
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  */
 /*
@@ -542,7 +542,7 @@ void mdt_dump_lmm(int level, const struct lov_mds_md *lmm)
         for (i = 0, lod = lmm->lmm_objects; i < stripe_count; i++, lod++) {
                 CDEBUG(level, "stripe %u idx %u subobj "LPX64"/"LPX64"\n",
                        i, le32_to_cpu(lod->l_ost_idx),
-                       le64_to_cpu(lod->l_object_gr),
+                       le64_to_cpu(lod->l_object_seq),
                        le64_to_cpu(lod->l_object_id));
         }
 }
@@ -572,10 +572,10 @@ void mdt_shrink_reply(struct mdt_thread_info *info)
         }
 
         CDEBUG(D_INFO, "Shrink to md_size = %d cookie/acl_size = %d"
-                        " MDSCAPA = "LPX64", OSSCAPA = "LPX64"\n",
+                        " MDSCAPA = %llx, OSSCAPA = %llx\n",
                         md_size, acl_size,
-                        body->valid & OBD_MD_FLMDSCAPA,
-                        body->valid & OBD_MD_FLOSSCAPA);
+                        (unsigned long long)(body->valid & OBD_MD_FLMDSCAPA),
+                        (unsigned long long)(body->valid & OBD_MD_FLOSSCAPA));
 /*
             &RMF_MDT_BODY,
             &RMF_MDT_MD,
@@ -755,7 +755,7 @@ static __u64 mdt_attr_valid_xlate(__u64 in, struct mdt_reint_record *rr,
                 ATTR_ATTR_FLAG|ATTR_RAW|MDS_OPEN_OWNEROVERRIDE|
                 ATTR_FORCE|ATTR_KILL_SUID|ATTR_KILL_SGID);
         if (in != 0)
-                CERROR("Unknown attr bits: %#llx\n", in);
+                CERROR("Unknown attr bits: "LPX64"\n", in);
         return out;
 }
 /* unpacking */
@@ -903,7 +903,7 @@ static int mdt_create_unpack(struct mdt_thread_info *info)
         attr->la_valid = LA_MODE | LA_RDEV | LA_UID | LA_GID |
                          LA_CTIME | LA_MTIME | LA_ATIME;
         memset(&sp->u, 0, sizeof(sp->u));
-        sp->sp_cr_flags = rec->cr_flags;
+        sp->sp_cr_flags = get_mrc_cr_flags(rec);
         sp->sp_ck_split = !!(rec->cr_bias & MDS_CHECK_SPLIT);
         info->mti_cross_ref = !!(rec->cr_bias & MDS_CROSS_REF);
 
@@ -914,7 +914,8 @@ static int mdt_create_unpack(struct mdt_thread_info *info)
 
         if (!info->mti_cross_ref) {
                 rr->rr_name = req_capsule_client_get(pill, &RMF_NAME);
-                rr->rr_namelen = req_capsule_get_size(pill, &RMF_NAME, RCL_CLIENT) - 1;
+                rr->rr_namelen = req_capsule_get_size(pill, &RMF_NAME,
+                                                      RCL_CLIENT) - 1;
                 LASSERT(rr->rr_name && rr->rr_namelen > 0);
         } else {
                 rr->rr_name = NULL;
@@ -1071,8 +1072,7 @@ static int mdt_unlink_unpack(struct mdt_thread_info *info)
         else
                 ma->ma_attr_flags &= ~MDS_VTX_BYPASS;
 
-        if (lustre_msg_get_flags(mdt_info_req(info)->rq_reqmsg) & MSG_REPLAY)
-                info->mti_spec.no_create = 1;
+        info->mti_spec.no_create = !!req_is_replay(mdt_info_req(info));
 
         rc = mdt_dlmreq_unpack(info);
         RETURN(rc);
@@ -1132,8 +1132,7 @@ static int mdt_rename_unpack(struct mdt_thread_info *info)
         else
                 ma->ma_attr_flags &= ~MDS_VTX_BYPASS;
 
-        if (lustre_msg_get_flags(mdt_info_req(info)->rq_reqmsg) & MSG_REPLAY)
-                info->mti_spec.no_create = 1;
+        info->mti_spec.no_create = !!req_is_replay(mdt_info_req(info));
 
         rc = mdt_dlmreq_unpack(info);
         RETURN(rc);
@@ -1174,7 +1173,10 @@ static int mdt_open_unpack(struct mdt_thread_info *info)
         attr->la_valid = LA_MODE  | LA_RDEV  | LA_UID   | LA_GID |
                          LA_CTIME | LA_MTIME | LA_ATIME;
         memset(&info->mti_spec.u, 0, sizeof(info->mti_spec.u));
-        info->mti_spec.sp_cr_flags = rec->cr_flags;
+        info->mti_spec.sp_cr_flags = get_mrc_cr_flags(rec);
+        /* Do not trigger ASSERTION if client miss to set such flags. */
+        if (unlikely(info->mti_spec.sp_cr_flags == 0))
+                RETURN(-EPROTO);
         info->mti_replayepoch = rec->cr_ioepoch;
 
         info->mti_spec.sp_ck_split = !!(rec->cr_bias & MDS_CHECK_SPLIT);
@@ -1183,8 +1185,8 @@ static int mdt_open_unpack(struct mdt_thread_info *info)
         if (req_capsule_get_size(pill, &RMF_CAPA1, RCL_CLIENT))
                 mdt_set_capainfo(info, 0, rr->rr_fid1,
                                  req_capsule_client_get(pill, &RMF_CAPA1));
-        if ((lustre_msg_get_flags(req->rq_reqmsg) & MSG_REPLAY) &&
-            (req_capsule_get_size(pill, &RMF_CAPA2, RCL_CLIENT))) {
+        if (req_is_replay(req) &&
+            req_capsule_get_size(pill, &RMF_CAPA2, RCL_CLIENT)) {
 #if 0
                 mdt_set_capainfo(info, 1, rr->rr_fid2,
                                  req_capsule_client_get(pill, &RMF_CAPA2));
@@ -1207,8 +1209,7 @@ static int mdt_open_unpack(struct mdt_thread_info *info)
                                                      RCL_CLIENT);
         if (sp->u.sp_ea.eadatalen) {
                 sp->u.sp_ea.eadata = req_capsule_client_get(pill, &RMF_EADATA);
-                if (lustre_msg_get_flags(req->rq_reqmsg) & MSG_REPLAY)
-                        sp->no_create = 1;
+                sp->no_create = !!req_is_replay(req);
         }
 
         RETURN(0);