From 7a7c11b9f472d426440989c469eb85d79d054891 Mon Sep 17 00:00:00 2001 From: Elena Gryaznova Date: Thu, 11 Nov 2010 16:49:35 +0300 Subject: [PATCH] b=22180 fix the incorrect MDSDEV check i=Nathan.Rutman new t-f is_blkdev () check MDSDEV on mds instead of local client test_17, test_18 changes for config mgs and mds are not combined --- lustre/tests/conf-sanity.sh | 96 ++++++++++++++++++++++++++++----------------- 1 file changed, 61 insertions(+), 35 deletions(-) diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index 1879ee9..5f8f020 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -523,6 +523,21 @@ test_9() { } run_test 9 "test ptldebug and subsystem for mkfs" +is_blkdev () { + local facet=$1 + local dev=$2 + local size=${3:-""} + + local rc=0 + do_facet $facet "test -b $dev" || rc=1 + if [[ "$size" ]]; then + local in=$(do_facet $facet "dd if=$dev of=/dev/null bs=1k count=1 skip=$size 2>&1" |\ + awk '($3 == "in") { print $1 }') + [[ $in = "1+0" ]] || rc=1 + fi + return $rc +} + # # Test 16 was to "verify that lustre will correct the mode of OBJECTS". # But with new MDS stack we don't care about the mode of local objects @@ -530,21 +545,24 @@ run_test 9 "test ptldebug and subsystem for mkfs" # test_17() { - local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/}) + setup + check_mount || return 41 + cleanup || return $? - if [ ! -e "$MDSDEV" ]; then - echo "no $MDSDEV existing, so mount Lustre to create one" - setup - check_mount || return 41 - cleanup || return $? + echo "Remove mds config log" + if ! combined_mgs_mds ; then + stop mgs fi - echo "Remove mds config log" - do_facet $SINGLEMDS "$DEBUGFS -w -R 'unlink CONFIGS/$FSNAME-MDT0000' $MDSDEV || return \$?" || return $? + do_facet mgs "$DEBUGFS -w -R 'unlink CONFIGS/$FSNAME-MDT0000' $MGSDEV || return \$?" || return $? + + if ! combined_mgs_mds ; then + start_mgs + fi start_ost - start_mds && return 42 - reformat_and_config + start_mds && return 42 + reformat_and_config } run_test 17 "Verify failed mds_postsetup won't fail assertion (2936) (should return errs)" @@ -566,17 +584,18 @@ test_18() { log "use STORED_MDSSIZE=$STORED_MDSSIZE" # check if the block device is large enough - [ -z "$OK" -a -b $MDSDEV ] && \ - [ "$(dd if=$MDSDEV of=/dev/null bs=1k count=1 skip=$MIN 2>&1 | - awk '($3 == "in") { print $1 }')" = "1+0" ] && OK=1 && \ + [ -z "$OK" ] && $(is_blkdev $SINGLEMDS $MDSDEV $MIN) && OK=1 && myMDSSIZE=$MIN && log "use device $MDSDEV with MIN=$MIN" # check if a loopback device has enough space for fs metadata (5%) - [ -z "$OK" ] && [ -f $MDSDEV -o ! -e $MDSDEV ] && - SPACE=$(df -P $(dirname $MDSDEV) | - awk '($1 != "Filesystem") {print $4}') && - [ $SPACE -gt $((MIN / 20)) ] && OK=1 && myMDSSIZE=$MIN && \ + + if [ -z "$OK" ]; then + local SPACE=$(do_facet $SINGLEMDS "[ -f $MDSDEV -o ! -e $MDSDEV ] && df -P \\\$(dirname $MDSDEV)" | + awk '($1 != "Filesystem") {print $4}') + ! [ -z "$SPACE" ] && [ $SPACE -gt $((MIN / 20)) ] && \ + OK=1 && myMDSSIZE=$MIN && \ log "use file $MDSDEV with MIN=$MIN" + fi [ -z "$OK" ] && skip_env "$MDSDEV too small for ${MIN}kB MDS" && return @@ -584,15 +603,21 @@ test_18() { echo "mount mds with large journal..." local OLD_MDS_MKFS_OPTS=$MDS_MKFS_OPTS - MDS_MKFS_OPTS="--mgs --mdt --fsname=$FSNAME --device-size=$myMDSSIZE --param sys.timeout=$TIMEOUT $MDSOPT" + local opts="--mdt --fsname=$FSNAME --device-size=$myMDSSIZE --param sys.timeout=$TIMEOUT $MDSOPT" + + if combined_mgs_mds ; then + MDS_MKFS_OPTS="--mgs $opts" + else + MDS_MKFS_OPTS="--mgsnode=$MGSNID $opts" + fi reformat_and_config echo "mount lustre system..." - setup + setup check_mount || return 41 echo "check journal size..." - local FOUNDSIZE=`do_facet $SINGLEMDS "$DEBUGFS -c -R 'stat <8>' $MDSDEV" | awk '/Size: / { print $NF; exit;}'` + local FOUNDSIZE=$(do_facet $SINGLEMDS "$DEBUGFS -c -R 'stat <8>' $MDSDEV" | awk '/Size: / { print $NF; exit;}') if [ $FOUNDSIZE -gt $((32 * 1024 * 1024)) ]; then log "Success: mkfs creates large journals. Size: $((FOUNDSIZE >> 20))M" else @@ -781,18 +806,15 @@ cleanup_24a() { } test_24a() { - #set up fs1 - gen_config - - #set up fs2 local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/}) - [ -n "$ost1_HOST" ] && fs2ost_HOST=$ost1_HOST if [ -z "$fs2ost_DEV" -o -z "$fs2mds_DEV" ]; then - do_facet $SINGLEMDS [ -b "$MDSDEV" ] && \ + is_blkdev $SINGLEMDS $MDSDEV && \ skip_env "mixed loopback and real device not working" && return fi + [ -n "$ost1_HOST" ] && fs2ost_HOST=$ost1_HOST + local fs2mdsdev=${fs2mds_DEV:-${MDSDEV}_2} local fs2ostdev=${fs2ost_DEV:-$(ostdevname 1)_2} @@ -837,7 +859,9 @@ test_24b() { local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/}) if [ -z "$fs2mds_DEV" ]; then - do_facet $SINGLEMDS [ -b "$MDSDEV" ] && \ + local dev=${SINGLEMDS}_dev + local MDSDEV=${!dev} + is_blkdev $SINGLEMDS $MDSDEV && \ skip_env "mixed loopback and real device not working" && return fi @@ -1263,7 +1287,9 @@ test_33a() { # bug 12333, was test_33 [ -n "$ost1_HOST" ] && fs2ost_HOST=$ost1_HOST if [ -z "$fs2ost_DEV" -o -z "$fs2mds_DEV" ]; then - do_facet $SINGLEMDS [ -b "$MDSDEV" ] && \ + local dev=${SINGLEMDS}_dev + local MDSDEV=${!dev} + is_blkdev $SINGLEMDS $MDSDEV && \ skip_env "mixed loopback and real device not working" && return fi @@ -1472,22 +1498,22 @@ test_35b() { # bug 18674 run_test 35b "Continue reconnection retries, if the active server is busy" test_36() { # 12743 - local rc + [ $OSTCOUNT -lt 2 ] && skip_env "skipping test for single OST" && return + + [ "$ost_HOST" = "`hostname`" -o "$ost1_HOST" = "`hostname`" ] || \ + { skip "remote OST" && return 0; } + + local rc=0 local FSNAME2=test1234 local fs3ost_HOST=$ost_HOST local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/}) [ -n "$ost1_HOST" ] && fs2ost_HOST=$ost1_HOST && fs3ost_HOST=$ost1_HOST - rc=0 if [ -z "$fs2ost_DEV" -o -z "$fs2mds_DEV" -o -z "$fs3ost_DEV" ]; then - do_facet $SINGLEMDS [ -b "$MDSDEV" ] && \ + is_blkdev $SINGLEMDS $MDSDEV && \ skip_env "mixed loopback and real device not working" && return fi - [ $OSTCOUNT -lt 2 ] && skip_env "skipping test for single OST" && return - - [ "$ost_HOST" = "`hostname`" -o "$ost1_HOST" = "`hostname`" ] || \ - { skip "remote OST" && return 0; } local fs2mdsdev=${fs2mds_DEV:-${MDSDEV}_2} local fs2ostdev=${fs2ost_DEV:-$(ostdevname 1)_2} -- 1.8.3.1