Whamcloud - gitweb
LU-3268 lod: return root LOV EA in little-endian
[fs/lustre-release.git] / lustre / lod / lod_object.c
index e3180e2..b237401 100644 (file)
@@ -387,15 +387,19 @@ static int lod_xattr_get(const struct lu_env *env, struct dt_object *dt,
                struct lov_desc    *desc = &dev->lod_desc;
 
                if (buf->lb_buf == NULL) {
-                       rc = sizeof(struct lov_user_md_v1);
-               } else if (buf->lb_len >= sizeof(struct lov_user_md_v1)) {
-                       lum->lmm_magic = LOV_USER_MAGIC_V1;
+                       rc = sizeof(*lum);
+               } 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);
-                       lum->lmm_pattern = desc->ld_pattern;
-                       lum->lmm_stripe_size = desc->ld_default_stripe_size;
-                       lum->lmm_stripe_count = desc->ld_default_stripe_count;
-                       lum->lmm_stripe_offset = desc->ld_default_stripe_offset;
-                       rc = sizeof(struct lov_user_md_v1);
+                       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(
+                                               desc->ld_default_stripe_size);
+                       lum->lmm_stripe_count = cpu_to_le16(
+                                               desc->ld_default_stripe_count);
+                       lum->lmm_stripe_offset = cpu_to_le16(
+                                               desc->ld_default_stripe_offset);
+                       rc = sizeof(*lum);
                } else {
                        rc = -ERANGE;
                }