X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fmds-survey.sh;h=e95452d03e973658c0193532f4b58829851c2149;hb=a6239c48da38ff0da4564da496766deebc88923f;hp=63510e9499b25d0f1cc1622f38d472a2aea821fd;hpb=fb1a1ec6300a5ec3925b725d5d2b783314dff3f8;p=fs%2Flustre-release.git diff --git a/lustre/tests/mds-survey.sh b/lustre/tests/mds-survey.sh index 63510e9..e95452d 100644 --- a/lustre/tests/mds-survey.sh +++ b/lustre/tests/mds-survey.sh @@ -19,12 +19,10 @@ thrlo=${thrlo:-1} ALWAYS_EXCEPT="$MDS_SURVEY_EXCEPT" MDSSURVEY=${MDSSURVEY:-$(which mds-survey 2>/dev/null || true)} -if [ -z ${MDSSURVEY} ]; then - skip_env "mds-survey not found" && exit -fi +[ -z ${MDSSURVEY} ] && skip_env "mds-survey not found" if [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.3.51) ]; then - skip_env "Need MDS version at least 2.3.51" && exit + skip_env "Need MDS version at least 2.3.51" fi build_test_filter @@ -37,7 +35,7 @@ adjust_inode() { require_inode=$((file_count * thrhi)) # get available inode for mdt - avail_mdt_inode=$(lfs_df -i $MOUNT | grep "summary" | awk '{print $4}') + avail_mdt_inode=$(mdt_free_inodes 0) avail_mdt_inode=$((avail_mdt_inode * 9 / 10)) # get available inode for ost @@ -67,41 +65,64 @@ cleanup_mount $MOUNT cleanup_mount $MOUNT2 get_target() { - local mds=$(facet_host $SINGLEMDS) - echo $(do_nodes $mds 'lctl dl' | \ - awk "{if (\$2 == \"UP\" && \$3 == \"mdt\") {print \$4}}") + local node=$1 + local mdt + local mdts + local target + + mdts=$(do_node $node "$LCTL dl" | + awk "{if (\$2 == \"UP\" && \$3 == \"mdt\") {print \$4}}") + + for mdt in $mdts; do + target+="${target:+ }$node:$mdt" + done + + echo -n $target +} + +get_targets() { + local targets + local node + + for node in $(mdts_nodes); do + targets+="${targets:+ }$(get_target $node)" + done + + echo -n $targets } mds_survey_run() { - local layer=${1:-mdd} - local stripe_count=${2:-0} - local mds=$(facet_host $SINGLEMDS) - local rc=0 - - rm -f ${TMP}/mds_survey* - - local target=$(get_target) - local cmd="file_count=$file_count thrlo=$thrlo thrhi=$thrhi" - local cmd+=" dir_count=$dir_count layer=$layer stripe_count=$stripe_count" - local cmd+=" rslt_loc=${TMP} targets=\"$mds:$target\" $MDSSURVEY" - - echo + $cmd - eval $cmd || rc=$? - cat ${TMP}/mds_survey* - rm -f ${TMP}/mds_survey* - ((rc == 0)) || error "mds-survey failed" + local layer=${1:-mdd} + local stripe_count=${2:-0} + local rc=0 + + rm -f ${TMP}/mds_survey* + + local cmd="file_count=$file_count thrlo=$thrlo thrhi=$thrhi" + cmd+=" dir_count=$dir_count layer=$layer stripe_count=$stripe_count" + cmd+=" rslt_loc=${TMP} targets=\"$(get_targets)\" $MDSSURVEY" + + trap cleanup_echo_devs EXIT ERR + + echo + $cmd + eval $cmd || rc=$? + cat ${TMP}/mds_survey* + rm -f ${TMP}/mds_survey* + ((rc == 0)) || error "mds-survey failed" } test_1() { - mds_survey_run "mdd" "0" + mds_survey_run "mdd" "0" } run_test 1 "Metadata survey with zero-stripe" test_2() { - if [ $ost_count -eq 0 ]; then - skip_env "Need to mount OST to test" && return - fi - mds_survey_run "mdd" "1" + local mdscount=$(get_node_count "$(mdts_nodes)") + + [ $mdscount -gt 1 ] && skip_env "Only run this test on single MDS" + [ $ost_count -eq 0 ] && skip_env "Need to mount OST to test" + + mds_survey_run "mdd" "1" } run_test 2 "Metadata survey with stripe_count = 1"