X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Ftests%2Freplay-single-lmv.sh;h=21dd7ca74be7197d914b390d6a65e0f9d2c2cc54;hb=e1cf0bdf5df70824c92586ca46e36088e80215d5;hp=776ab3873f3b0264d0f1478e313944ddc63bb6c2;hpb=1f6df62465c970dbee82b4635bc868d147506df8;p=fs%2Flustre-release.git diff --git a/lustre/tests/replay-single-lmv.sh b/lustre/tests/replay-single-lmv.sh index 776ab38..21dd7ca 100755 --- a/lustre/tests/replay-single-lmv.sh +++ b/lustre/tests/replay-single-lmv.sh @@ -1,6 +1,7 @@ -#!/bin/sh +#!/bin/bash set -e +#set -v # # This test needs to be run on the client @@ -8,83 +9,26 @@ set -e LUSTRE=${LUSTRE:-`dirname $0`/..} . $LUSTRE/tests/test-framework.sh - init_test_env $@ - . ${CONFIG:=$LUSTRE/tests/cfg/lmv.sh} + # Skip these tests ALWAYS_EXCEPT="" - - -gen_config() { - rm -f $XMLCONFIG - - if [ "$MDSCOUNT" -gt 1 ]; then - add_lmv lmv1 - for num in `seq $MDSCOUNT`; do - MDSDEV=$TMP/mds${num}-`hostname` - add_mds mds$num --dev $MDSDEV --size $MDSSIZE --lmv lmv1 - done - add_lov_to_lmv lov1 lmv1 --stripe_sz $STRIPE_BYTES \ - --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 - add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE - add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE - add_client client --lmv lmv1 --lov lov1 --path $MOUNT - else - add_mds mds1 --dev $MDSDEV --size $MDSSIZE - if [ ! -z "$mdsfailover_HOST" ]; then - add_mdsfailover mds --dev $MDSDEV --size $MDSSIZE - fi - - add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \ - --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 - add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE - add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE - add_client client --mds mds1_svc --lov lov1 --path $MOUNT - fi -} - build_test_filter -cleanup() { - # make sure we are using the primary MDS, so the config log will - # be able to clean up properly. - activemds=`facet_active mds` - if [ $activemds != "mds" ]; then - fail mds - fi - zconf_umount `hostname` $MOUNT - if [ "$MDSCOUNT" -gt 1 ]; then - for num in `seq $MDSCOUNT`; do - stop mds$num ${FORCE} $MDSLCONFARGS - done - else - stop mds ${FORCE} $MDSLCONFARGS - fi - stop ost2 ${FORCE} --dump cleanup.log - stop ost ${FORCE} --dump cleanup.log -} +SETUP=${SETUP:-"setup"} +CLEANUP=${CLEANUP:-"stopall"} if [ "$ONLY" == "cleanup" ]; then - sysctl -w portals.debug=0 || true - cleanup - exit + lctl set_param debug=0 || true + $CLEANUP + exit 0 fi -SETUP=${SETUP:-"setup"} -CLEANUP=${CLEANUP:-"cleanup"} - setup() { - gen_config - - start ost --reformat $OSTLCONFARGS - start ost2 --reformat $OSTLCONFARGS - [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE - start mds1 $MDSLCONFARGS --reformat - start mds2 $MDSLCONFARGS --reformat - start mds3 $MDSLCONFARGS --reformat - grep " $MOUNT " /proc/mounts || zconf_mount `hostname` $MOUNT + formatall + setupall } $SETUP @@ -95,6 +39,12 @@ fi mkdir -p $DIR +# LU-482 Avert LVM and VM inability to flush caches in pre .33 kernels +if [ $LINUX_VERSION_CODE -lt $(version_code 2.6.33) ]; then + sync + do_facet $SINGLEMDS sync +fi + test_0() { replay_barrier mds1 fail mds1 @@ -104,7 +54,7 @@ run_test 0 "empty replay" test_0b() { # this test attempts to trigger a race in the precreation code, # and must run before any other objects are created on the filesystem - fail ost + fail ost1 createmany -o $DIR/$tfile 20 || return 1 unlinkmany $DIR/$tfile 20 || return 2 } @@ -143,7 +93,6 @@ test_2a() { } run_test 2a "unlink cross-node file (fail mds with name)" - test_3a() { replay_barrier mds2 mkdir $DIR/dir3a1 @@ -155,15 +104,15 @@ test_3a() { run_test 3a "mkdir cross-node dir (fail mds with inode)" test_3b() { - mkdir $DIR/dir13 replay_barrier mds1 - $CHECKSTAT -t dir $DIR/dir13 || return 1 - rmdir $DIR/dir13 + mkdir $DIR/dir3b1 + $LCTL mark "FAILOVER mds1" fail mds1 - stat $DIR/dir13 + stat $DIR + $CHECKSTAT -t dir $DIR/dir3b1 || return 1 } -run_test 3b "mkdir cross-node dir (fail mds with name)" +run_test 3b "mkdir cross-node dir (fail mds with inode)" -equals_msg test complete, cleaning up +complete $SECONDS $CLEANUP