Whamcloud - gitweb
LU-5814 lov: remove LSM from struct lustre_md
[fs/lustre-release.git] / lustre / lov / lov_ea.c
index b98f924..f294d11 100644 (file)
@@ -79,18 +79,20 @@ static int lsm_lmm_verify_common(struct lov_mds_md *lmm, int lmm_bytes,
        return 0;
 }
 
-struct lov_stripe_md *lsm_alloc_plain(__u16 stripe_count, int *size)
+struct lov_stripe_md *lsm_alloc_plain(u16 stripe_count)
 {
        struct lov_stripe_md *lsm;
        struct lov_oinfo     *loi;
-       int                   i, oinfo_ptrs_size;
+       size_t lsm_size;
+       size_t oinfo_ptrs_size;
+       unsigned int i;
 
        LASSERT(stripe_count <= LOV_MAX_STRIPE_COUNT);
 
        oinfo_ptrs_size = sizeof(struct lov_oinfo *) * stripe_count;
-       *size = sizeof(struct lov_stripe_md) + oinfo_ptrs_size;
+       lsm_size = sizeof(*lsm) + oinfo_ptrs_size;
 
-       OBD_ALLOC_LARGE(lsm, *size);
+       OBD_ALLOC_LARGE(lsm, lsm_size);
        if (!lsm)
                return NULL;
 
@@ -106,7 +108,9 @@ struct lov_stripe_md *lsm_alloc_plain(__u16 stripe_count, int *size)
 err:
        while (--i >= 0)
                OBD_SLAB_FREE(lsm->lsm_oinfo[i], lov_oinfo_slab, sizeof(*loi));
-       OBD_FREE_LARGE(lsm, *size);
+
+       OBD_FREE_LARGE(lsm, lsm_size);
+
        return NULL;
 }