Whamcloud - gitweb
LU-3569 ofd: packing ost_idx in IDIF
[fs/lustre-release.git] / lustre / lod / lod_object.c
index b237401..6179e4d 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(
@@ -483,8 +484,7 @@ static int lod_xattr_set_lov_on_dir(const struct lu_env *env,
        l->ldo_def_stripe_size = 0;
        l->ldo_def_stripenr = 0;
 
-       LASSERT(buf);
-       LASSERT(buf->lb_buf);
+       LASSERT(buf != NULL && buf->lb_buf != NULL);
        lum = buf->lb_buf;
 
        rc = lod_verify_striping(d, buf, 0);
@@ -678,7 +678,7 @@ static void lod_ah_init(const struct lu_env *env,
                        struct dt_allocation_hint *ah,
                        struct dt_object *parent,
                        struct dt_object *child,
-                       cfs_umode_t child_mode)
+                       umode_t child_mode)
 {
        struct lod_device *d = lu2lod_dev(child->do_lu.lo_dev);
        struct dt_object  *nextp = NULL;
@@ -707,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) {