Whamcloud - gitweb
LU-1267 lfsck: framework (2) for MDT-OST consistency
[fs/lustre-release.git] / lustre / lod / lod_object.c
index 9c12c5b..afd9373 100644 (file)
@@ -391,6 +391,7 @@ static int lod_xattr_get(const struct lu_env *env, struct dt_object *dt,
                } else if (buf->lb_len >= sizeof(*lum)) {
                        lum->lmm_magic = cpu_to_le32(LOV_USER_MAGIC_V1);
                        lmm_oi_set_seq(&lum->lmm_oi, FID_SEQ_LOV_DEFAULT);
+                       lmm_oi_set_id(&lum->lmm_oi, 0);
                        lmm_oi_cpu_to_le(&lum->lmm_oi, &lum->lmm_oi);
                        lum->lmm_pattern = cpu_to_le32(desc->ld_pattern);
                        lum->lmm_stripe_size = cpu_to_le32(
@@ -529,7 +530,7 @@ static int lod_xattr_set(const struct lu_env *env,
 
        attr = dt->do_lu.lo_header->loh_attr & S_IFMT;
        if (S_ISDIR(attr)) {
-               if (strncmp(name, XATTR_NAME_LOV, strlen(XATTR_NAME_LOV)) == 0)
+               if (strcmp(name, XATTR_NAME_LOV) == 0)
                        rc = lod_xattr_set_lov_on_dir(env, dt, buf, name,
                                                      fl, th, capa);
                else
@@ -706,7 +707,8 @@ static void lod_ah_init(const struct lu_env *env,
         * can be called with local object existing
         */
        if (!dt_object_exists(nextc) || dt_object_remote(nextc))
-               nextc->do_ops->do_ah_init(env, ah, nextp, nextc, child_mode);
+               nextc->do_ops->do_ah_init(env, ah, dt_object_remote(nextp) ?
+                                         NULL : nextp, nextc, child_mode);
 
        if (S_ISDIR(child_mode)) {
                if (lp->ldo_striping_cached == 0) {