X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flod%2Flod_qos.c;h=e7b1de0771ab536982500ba27d0f8ffdb6d91a28;hb=9699de55bfa4a35aea21f713b80d33ec2f9329fe;hp=3cae7a38124b477146b3fe1e38e5a0c09b5cfd8c;hpb=0067260d030e45e8b159db80e80c86c2c12390cc;p=fs%2Flustre-release.git diff --git a/lustre/lod/lod_qos.c b/lustre/lod/lod_qos.c index 3cae7a3..e7b1de0 100644 --- a/lustre/lod/lod_qos.c +++ b/lustre/lod/lod_qos.c @@ -1220,8 +1220,10 @@ static int lod_use_defined_striping(const struct lu_env *env, magic = le32_to_cpu(v1->lmm_magic); if (magic == LOV_MAGIC_V1_DEF) { + magic = LOV_MAGIC_V1; objs = &v1->lmm_objects[0]; } else if (magic == LOV_MAGIC_V3_DEF) { + magic = LOV_MAGIC_V3; objs = &v3->lmm_objects[0]; lod_object_set_pool(mo, v3->lmm_pool_name); } else { @@ -1232,7 +1234,6 @@ static int lod_use_defined_striping(const struct lu_env *env, mo->ldo_stripe_size = le32_to_cpu(v1->lmm_stripe_size); mo->ldo_stripenr = le16_to_cpu(v1->lmm_stripe_count); mo->ldo_layout_gen = le16_to_cpu(v1->lmm_layout_gen); - LASSERT(buf->lb_len >= lov_mds_md_size(mo->ldo_stripenr, magic)); /* fixup for released file before object initialization */ if (mo->ldo_pattern & LOV_PATTERN_F_RELEASED) { @@ -1240,6 +1241,8 @@ static int lod_use_defined_striping(const struct lu_env *env, mo->ldo_stripenr = 0; } + LASSERT(buf->lb_len >= lov_mds_md_size(mo->ldo_stripenr, magic)); + if (mo->ldo_stripenr > 0) rc = lod_initialize_objects(env, mo, objs);