From: bobijam Date: Tue, 19 May 2009 01:59:02 +0000 (+0000) Subject: Branch HEAD X-Git-Tag: v1_9_190~23 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=f2e38252b4c684e43a20530986eb66ef3b6c1155;p=fs%2Flustre-release.git Branch HEAD b=19478 i=adilger i=sheng.yang Split lov_dump_lmm_{v1,v3,join} into head and objects parts. --- diff --git a/lustre/lov/lov_pack.c b/lustre/lov/lov_pack.c index a17d580..3ba2ac9 100644 --- a/lustre/lov/lov_pack.c +++ b/lustre/lov/lov_pack.c @@ -54,72 +54,57 @@ #include "lov_internal.h" -void lov_dump_lmm_v1(int level, struct lov_mds_md_v1 *lmm) +static void lov_dump_lmm_common(int level, void *lmmp) { - struct lov_ost_data_v1 *lod; - int i; + struct lov_mds_md *lmm = lmmp; CDEBUG(level, "objid "LPX64", magic 0x%08x, pattern %#x\n", - le64_to_cpu(lmm->lmm_object_id), le32_to_cpu(lmm->lmm_magic), + le64_to_cpu(lmm->lmm_object_id), + le32_to_cpu(lmm->lmm_magic), le32_to_cpu(lmm->lmm_pattern)); CDEBUG(level,"stripe_size %u, stripe_count %u\n", le32_to_cpu(lmm->lmm_stripe_size), le32_to_cpu(lmm->lmm_stripe_count)); +} - if (le32_to_cpu(lmm->lmm_stripe_count) <= LOV_V1_INSANE_STRIPE_COUNT) { - for (i = 0, lod = lmm->lmm_objects; - i < (int)le32_to_cpu(lmm->lmm_stripe_count); i++, lod++) - CDEBUG(level, - "stripe %u idx %u subobj "LPX64"/"LPX64"\n", - i, le32_to_cpu(lod->l_ost_idx), - le64_to_cpu(lod->l_object_gr), - le64_to_cpu(lod->l_object_id)); - } else { +static void lov_dump_lmm_objects(int level, struct lov_ost_data *lod, + int stripe_count) +{ + int i; + + if (stripe_count > LOV_V1_INSANE_STRIPE_COUNT) { CDEBUG(level, "bad stripe_count %u > max_stripe_count %u\n", - le32_to_cpu(lmm->lmm_stripe_count), - LOV_V1_INSANE_STRIPE_COUNT); + stripe_count, LOV_V1_INSANE_STRIPE_COUNT); + } + + for (i = 0; i < stripe_count; ++i, ++lod) { + CDEBUG(level, "stripe %u idx %u subobj "LPX64"/"LPX64"\n", i, + le32_to_cpu(lod->l_ost_idx), + le64_to_cpu(lod->l_object_gr), + le64_to_cpu(lod->l_object_id)); } } -void lov_dump_lmm_join(int level, struct lov_mds_md_join *lmmj) +void lov_dump_lmm_v1(int level, struct lov_mds_md_v1 *lmm) { + lov_dump_lmm_common(level, lmm); + lov_dump_lmm_objects(level, lmm->lmm_objects, + le32_to_cpu(lmm->lmm_stripe_count)); +} - CDEBUG(level, "objid "LPX64", magic 0x%08X, pattern %#X\n", - le64_to_cpu(lmmj->lmmj_md.lmm_object_id), - le32_to_cpu(lmmj->lmmj_md.lmm_magic), - le32_to_cpu(lmmj->lmmj_md.lmm_pattern)); - CDEBUG(level,"stripe_size %u, stripe_count %u extent_count %u \n", - le32_to_cpu(lmmj->lmmj_md.lmm_stripe_size), - le32_to_cpu(lmmj->lmmj_md.lmm_stripe_count), +void lov_dump_lmm_join(int level, struct lov_mds_md_join *lmmj) +{ + lov_dump_lmm_common(level, &lmmj->lmmj_md); + CDEBUG(level, "extent_count %u\n", le32_to_cpu(lmmj->lmmj_extent_count)); } void lov_dump_lmm_v3(int level, struct lov_mds_md_v3 *lmm) { - struct lov_ost_data_v1 *lod; - int i; - - CDEBUG(level, "objid "LPX64", magic 0x%08x, pattern %#x\n", - le64_to_cpu(lmm->lmm_object_id), le32_to_cpu(lmm->lmm_magic), - le32_to_cpu(lmm->lmm_pattern)); - CDEBUG(level,"stripe_size %u, stripe_count %u\n", - le32_to_cpu(lmm->lmm_stripe_size), - le32_to_cpu(lmm->lmm_stripe_count)); + lov_dump_lmm_common(level, lmm); CDEBUG(level,"pool_name "LOV_POOLNAMEF"\n", lmm->lmm_pool_name); - - if (le32_to_cpu(lmm->lmm_stripe_count) <= LOV_V1_INSANE_STRIPE_COUNT) { - for (i = 0, lod = lmm->lmm_objects; - i < (int)le32_to_cpu(lmm->lmm_stripe_count); i++, lod++) - CDEBUG(level, - "stripe %u idx %u subobj "LPX64"/"LPX64"\n", - i, le32_to_cpu(lod->l_ost_idx), - le64_to_cpu(lod->l_object_gr), - le64_to_cpu(lod->l_object_id)); - } else { - CDEBUG(level, "bad stripe_count %u > max_stripe_count %u\n", - le32_to_cpu(lmm->lmm_stripe_count), - LOV_V1_INSANE_STRIPE_COUNT); - } + lov_dump_lmm_objects(level, lmm->lmm_objects, + le32_to_cpu(lmm->lmm_stripe_count)); } void lov_dump_lmm(int level, void *lmm) @@ -622,7 +607,7 @@ int lov_getstripe(struct obd_export *exp, struct lov_stripe_md *lsm, (lum.lmm_magic != LOV_USER_MAGIC_V3)) GOTO(out_set, rc = -EINVAL); - if (lum.lmm_stripe_count && + if (lum.lmm_stripe_count && (lum.lmm_stripe_count < lsm->lsm_stripe_count)) { /* Return right size of stripe to user */ lum.lmm_stripe_count = lsm->lsm_stripe_count; @@ -668,7 +653,7 @@ int lov_getstripe(struct obd_export *exp, struct lov_stripe_md *lsm, lmm_size = lum_size; else if (lum.lmm_stripe_count < lmmk->lmm_stripe_count) GOTO(out_set, rc = -EOVERFLOW); - /* + /* * Have a difference between lov_mds_md & lov_user_md. * So we have to re-order the data before copy to user. */