unsigned int magic;
magic = le32_to_cpu(lmm->lmm_magic);
- if (!lov_supported_comp_magic(magic)) {
- struct lov_stripe_md_entry *lsme;
- size_t lsme_sz = offsetof(typeof(*lsme), lsme_oinfo[0]);
- struct lov_stripe_md_entry lsme_init = {
- .lsme_pattern = le32_to_cpu(lmm->lmm_pattern),
- .lsme_magic = magic,
- };
-
- /* allocate a lsme holder for invalid magic lmm */
- OBD_ALLOC_LARGE(lsme, lsme_sz);
- if (!lsme)
- return ERR_PTR(-ENOMEM);
-
- memcpy(lsme, &lsme_init, lsme_sz);
-
- return lsme;
- }
+ if (!lov_supported_comp_magic(magic))
+ RETURN(ERR_PTR(-EINVAL));
if (magic != LOV_MAGIC_FOREIGN &&
le16_to_cpu(lmm->lmm_stripe_count) == 0 &&