X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Flov%2Flov_ea.c;h=17a9b7ea9ac29c9d60f8ab0e989e6cfa453d3809;hp=3f73c71cd5c1ea8ca66a80b66dce8fa3245cdb1a;hb=0f607f22696ffcf0e8567ed3a3149a0ba5e5b1e9;hpb=d6e103e6950d99b88141d4b26982889258c774c5 diff --git a/lustre/lov/lov_ea.c b/lustre/lov/lov_ea.c index 3f73c71..17a9b7e 100644 --- a/lustre/lov/lov_ea.c +++ b/lustre/lov/lov_ea.c @@ -81,6 +81,7 @@ static loff_t lov_tgt_maxbytes(struct lov_tgt_desc *tgt) static int lsm_lmm_verify_v1v3(struct lov_mds_md *lmm, size_t lmm_size, u16 stripe_count) { + u32 pattern = le32_to_cpu(lmm->lmm_pattern); int rc = 0; if (stripe_count > LOV_V1_INSANE_STRIPE_COUNT) { @@ -98,10 +99,7 @@ static int lsm_lmm_verify_v1v3(struct lov_mds_md *lmm, size_t lmm_size, goto out; } - if (lov_pattern(le32_to_cpu(lmm->lmm_pattern)) != LOV_PATTERN_MDT && - lov_pattern(le32_to_cpu(lmm->lmm_pattern)) != LOV_PATTERN_RAID0 && - lov_pattern(le32_to_cpu(lmm->lmm_pattern)) != - (LOV_PATTERN_RAID0 | LOV_PATTERN_OVERSTRIPING)) { + if (!lov_pattern_supported(lov_pattern(pattern))) { rc = -EINVAL; CERROR("lov: unrecognized striping pattern: rc = %d\n", rc); lov_dump_lmm_common(D_WARNING, lmm);