From 16ddb77519b26ea8df18b5abd84afb03d08c47dc Mon Sep 17 00:00:00 2001 From: Elena Gryaznova Date: Thu, 11 Nov 2010 15:26:42 +0300 Subject: [PATCH] b=23049 canonicalize disk names o=Brian.Murrell i=grev --- lustre/tests/obdfilter-survey.sh | 2 +- lustre/tests/sanity.sh | 64 +++++++++++++++++++--------------------- lustre/tests/test-framework.sh | 12 ++++++++ 3 files changed, 44 insertions(+), 34 deletions(-) diff --git a/lustre/tests/obdfilter-survey.sh b/lustre/tests/obdfilter-survey.sh index 4719517..66ec822 100644 --- a/lustre/tests/obdfilter-survey.sh +++ b/lustre/tests/obdfilter-survey.sh @@ -88,7 +88,7 @@ print_jbd () { local file=$1 local facet=$2 local varsvc=${facet}_svc - local dev=$(basename $(do_facet $facet lctl get_param -n *.${!varsvc}.mntdev)) + local dev=$(ldiskfs_canon "*.${!varsvc}.mntdev" $facet) # ext4: /proc/fs/jbd2/sda1:8/history # ext3: /proc/fs/jbd/sdb1/history diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh index 18ee710..a40f77d 100755 --- a/lustre/tests/sanity.sh +++ b/lustre/tests/sanity.sh @@ -6168,50 +6168,48 @@ test_128() { # bug 15212 run_test 128 "interactive lfs for 2 consecutive find's" set_dir_limits () { - local mntdev - local node + local mntdev + local canondev + local node local LDPROC=/proc/fs/ldiskfs - for node in $(mdts_nodes); do - devs=$(do_node $node "lctl get_param -n devices" | awk '($3 ~ "mdt" && $4 ~ "MDT") { print $4 }') - for dev in $devs; do - mntdev=$(do_node $node "lctl get_param -n osd*.$dev.mntdev") - do_node $node "test -e $LDPROC/\\\$(basename $mntdev)/max_dir_size" || LDPROC=/sys/fs/ldiskfs - do_node $node "echo $1 >$LDPROC/\\\$(basename $mntdev)/max_dir_size" - done + for facet in $(get_facets MDS); do + canondev=$(ldiskfs_canon *.$(convert_facet2label $facet).mntdev $facet) + do_facet $facet "test -e $LDPROC/$canondev/max_dir_size" || LDPROC=/sys/fs/ldiskfs + do_facet $facet "echo $1 >$LDPROC/$canondev/max_dir_size" done } test_129() { - [ "$FSTYPE" != "ldiskfs" ] && skip "not needed for FSTYPE=$FSTYPE" && return 0 - remote_mds_nodsh && skip "remote MDS with nodsh" && return + [ "$FSTYPE" != "ldiskfs" ] && skip "not needed for FSTYPE=$FSTYPE" && return 0 + remote_mds_nodsh && skip "remote MDS with nodsh" && return - EFBIG=27 - MAX=16384 + EFBIG=27 + MAX=16384 - set_dir_limits $MAX + set_dir_limits $MAX - mkdir -p $DIR/$tdir + mkdir -p $DIR/$tdir - I=0 - J=0 - while [ ! $I -gt $((MAX * MDSCOUNT)) ]; do - multiop $DIR/$tdir/$J Oc - rc=$? - if [ $rc -eq $EFBIG ]; then - set_dir_limits 0 - echo "return code $rc received as expected" - return 0 - elif [ $rc -ne 0 ]; then - set_dir_limits 0 - error_exit "return code $rc received instead of expected $EFBIG" - fi - J=$((J+1)) - I=$(stat -c%s "$DIR/$tdir") - done + I=0 + J=0 + while [ ! $I -gt $((MAX * MDSCOUNT)) ]; do + multiop $DIR/$tdir/$J Oc + rc=$? + if [ $rc -eq $EFBIG ]; then + set_dir_limits 0 + echo "return code $rc received as expected" + return 0 + elif [ $rc -ne 0 ]; then + set_dir_limits 0 + error_exit "return code $rc received instead of expected $EFBIG" + fi + J=$((J+1)) + I=$(stat -c%s "$DIR/$tdir") + done - error "exceeded dir size limit $MAX x $MDSCOUNT $((MAX * MDSCOUNT)) : $I bytes" - do_facet $SINGLEMDS "echo 0 >$LDPROC" + set_dir_limits 0 + error "exceeded dir size limit $MAX x $MDSCOUNT $((MAX * MDSCOUNT)) : $I bytes" } run_test 129 "test directory size limit ========================" diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 051effb..bd45247 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -4428,3 +4428,15 @@ run_sgpdd () { cat ${rslt}.detail } +# returns the canonical name for an ldiskfs device +ldiskfs_canon() { + local dev="$1" + local facet="$2" + + do_facet $facet "dv=\\\$(lctl get_param -n $dev); +if foo=\\\$(lvdisplay -c \\\$dv 2>/dev/null); then + echo dm-\\\${foo##*:}; +else + echo \\\$(basename \\\$dv); +fi;" +} -- 1.8.3.1