Skip to content
Snippets Groups Projects
Commit f329de13 authored by Robert Read's avatar Robert Read
Browse files

Fix replay-single.sh and recovery-small.sh so they can run with the
default lmv config or "-f cfg/local.sh" config.
parent b6e3ca20
No related branches found
No related tags found
No related merge requests found
...@@ -3,8 +3,9 @@ MDSNODE=${MDSNODE:-`hostname`} ...@@ -3,8 +3,9 @@ MDSNODE=${MDSNODE:-`hostname`}
OSTNODE=${OSTNODE:-`hostname`} OSTNODE=${OSTNODE:-`hostname`}
CLIENT=${CLIENT:-client} CLIENT=${CLIENT:-client}
mds_HOST=${mds_HOST:-$MDSNODE} MDSCOUNT=1
mdsfailover_HOST=${mdsfailover_HOST} mds1_HOST=${mds1_HOST:-$MDSNODE}
mds1failover_HOST=${mds1failover_HOST}
ost_HOST=${ost_HOST:-$OSTNODE} ost_HOST=${ost_HOST:-$OSTNODE}
ost2_HOST=${ost2_HOST:-$ost_HOST} ost2_HOST=${ost2_HOST:-$ost_HOST}
client_HOST=${client_HOST:-$CLIENT} client_HOST=${client_HOST:-$CLIENT}
......
...@@ -16,54 +16,55 @@ init_test_env $@ ...@@ -16,54 +16,55 @@ init_test_env $@
build_test_filter build_test_filter
assert_env MDSCOUNT
# Allow us to override the setup if we already have a mounted system by # Allow us to override the setup if we already have a mounted system by
# setting SETUP=" " and CLEANUP=" " # setting SETUP=" " and CLEANUP=" "
SETUP=${SETUP:-"setup"} SETUP=${SETUP:-"setup"}
CLEANUP=${CLEANUP:-"cleanup"} CLEANUP=${CLEANUP:-"cleanup"}
make_config() { gen_config() {
rm -f $XMLCONFIG rm -f $XMLCONFIG
if [ "$MDSCOUNT" -gt 1 ]; then if [ "$MDSCOUNT" -gt 1 ]; then
add_lmv lmv1 add_lmv lmv1
for num in `seq $MDSCOUNT`; do for mds in `mds_list`; do
MDSDEV=$TMP/mds${num}-`hostname` MDSDEV=$TMP/${mds}-`hostname`
add_mds mds$num --dev $MDSDEV --size $MDSSIZE --master --lmv lmv1 add_mds $mds --dev $MDSDEV --size $MDSSIZE --lmv lmv1
done done
add_lov_to_lmv lov1 lmv1 --stripe_sz $STRIPE_BYTES \ add_lov_to_lmv lov1 lmv1 --stripe_sz $STRIPE_BYTES \
--stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE MDS=lmv1
add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
add_client client --lmv lmv1 --lov lov1 --path $MOUNT
else else
add_mds mds1 --dev $MDSDEV --size $MDSSIZE add_mds mds1 --dev $MDSDEV --size $MDSSIZE
add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \ add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \
--stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE MDS=mds1_svc
add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
add_client client --mds mds1_svc --lov lov1 --path $MOUNT
fi fi
add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE
add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
add_client client --mds ${MDS} --lov lov1 --path $MOUNT
} }
setup() { setup() {
make_config gen_config
start ost --reformat $OSTLCONFARGS start ost --reformat $OSTLCONFARGS
start ost2 --reformat $OSTLCONFARGS start ost2 --reformat $OSTLCONFARGS
[ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE
start mds $MDSLCONFARGS --reformat for mds in `mds_list`; do
start $mds --reformat $MDSLCONFARGS
done
grep " $MOUNT " /proc/mounts || zconf_mount `hostname` $MOUNT grep " $MOUNT " /proc/mounts || zconf_mount `hostname` $MOUNT
} }
cleanup() { cleanup() {
zconf_umount `hostname` $MOUNT zconf_umount `hostname` $MOUNT
if [ "$MDSCOUNT" -gt 1 ]; then for mds in `mds_list`; do
for num in `seq $MDSCOUNT`; do stop $mds ${FORCE} $MDSLCONFARGS
stop mds$num ${FORCE} $MDSLCONFARGS done
done
else
stop mds ${FORCE} $MDSLCONFARGS
fi
stop ost2 ${FORCE} --dump cleanup.log stop ost2 ${FORCE} --dump cleanup.log
stop ost ${FORCE} --dump cleanup.log stop ost ${FORCE} --dump cleanup.log
} }
......
...@@ -13,42 +13,39 @@ init_test_env $@ ...@@ -13,42 +13,39 @@ init_test_env $@
. ${CONFIG:=$LUSTRE/tests/cfg/lmv.sh} . ${CONFIG:=$LUSTRE/tests/cfg/lmv.sh}
build_test_filter
assert_env MDSCOUNT
# Skip these tests # Skip these tests
ALWAYS_EXCEPT="" ALWAYS_EXCEPT=""
gen_config() { gen_config() {
rm -f $XMLCONFIG rm -f $XMLCONFIG
if [ "$MDSCOUNT" -gt 1 ]; then if [ "$MDSCOUNT" -gt 1 ]; then
add_lmv lmv1 add_lmv lmv1
for num in `seq $MDSCOUNT`; do for mds in `mds_list`; do
MDSDEV=$TMP/mds${num}-`hostname` MDSDEV=$TMP/${mds}-`hostname`
add_mds mds$num --dev $MDSDEV --size $MDSSIZE --master --lmv lmv1 add_mds $mds --dev $MDSDEV --size $MDSSIZE --lmv lmv1
done done
MDS=lmv1
add_lov_to_lmv lov1 lmv1 --stripe_sz $STRIPE_BYTES \ add_lov_to_lmv lov1 lmv1 --stripe_sz $STRIPE_BYTES \
--stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 --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 else
add_mds mds1 --dev $MDSDEV --size $MDSSIZE add_mds mds1 --dev $MDSDEV --size $MDSSIZE
if [ ! -z "$mdsfailover_HOST" ]; then if [ ! -z "$mdsfailover_HOST" ]; then
add_mdsfailover mds --dev $MDSDEV --size $MDSSIZE add_mdsfailover mds1 --dev $MDSDEV --size $MDSSIZE
fi fi
add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \
add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \
--stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE MDS=mds1_svc
add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
add_client client --mds mds1_svc --lov lov1 --path $MOUNT
fi fi
add_lov lov1 mds --stripe_sz $STRIPE_BYTES \
--stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE
add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
add_client client mds --lov lov1 --path $MOUNT add_client client --mds $MDS --lov lov1 --path $MOUNT
} }
build_test_filter build_test_filter
...@@ -56,18 +53,14 @@ build_test_filter ...@@ -56,18 +53,14 @@ build_test_filter
cleanup() { cleanup() {
# make sure we are using the primary MDS, so the config log will # make sure we are using the primary MDS, so the config log will
# be able to clean up properly. # be able to clean up properly.
activemds=`facet_active mds` activemds=`facet_active mds1`
if [ $activemds != "mds" ]; then if [ $activemds != "mds1" ]; then
fail mds fail mds1
fi fi
zconf_umount `hostname` $MOUNT zconf_umount `hostname` $MOUNT
if [ "$MDSCOUNT" -gt 1 ]; then for mds in `mds_list`; do
for num in `seq $MDSCOUNT`; do stop $mds ${FORCE} $MDSLCONFARGS
stop mds$num ${FORCE} $MDSLCONFARGS done
done
else
stop mds ${FORCE} $MDSLCONFARGS
fi
stop ost2 ${FORCE} --dump cleanup.log stop ost2 ${FORCE} --dump cleanup.log
stop ost ${FORCE} --dump cleanup.log stop ost ${FORCE} --dump cleanup.log
} }
...@@ -87,7 +80,9 @@ setup() { ...@@ -87,7 +80,9 @@ setup() {
start ost --reformat $OSTLCONFARGS start ost --reformat $OSTLCONFARGS
start ost2 --reformat $OSTLCONFARGS start ost2 --reformat $OSTLCONFARGS
[ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE
start mds $MDSLCONFARGS --reformat for mds in `mds_list`; do
start $mds --reformat $MDSLCONFARGS
done
grep " $MOUNT " /proc/mounts || zconf_mount `hostname` $MOUNT grep " $MOUNT " /proc/mounts || zconf_mount `hostname` $MOUNT
} }
...@@ -126,7 +121,7 @@ run_test 1 "simple create" ...@@ -126,7 +121,7 @@ run_test 1 "simple create"
test_2a() { test_2a() {
replay_barrier mds replay_barrier mds
touch $DIR/$tfile touch $DIR/$tfile
fail mds fail mds1
$CHECKSTAT -t file $DIR/$tfile || return 1 $CHECKSTAT -t file $DIR/$tfile || return 1
rm $DIR/$tfile rm $DIR/$tfile
} }
...@@ -136,7 +131,7 @@ test_2b() { ...@@ -136,7 +131,7 @@ test_2b() {
./mcreate $DIR/$tfile ./mcreate $DIR/$tfile
replay_barrier mds replay_barrier mds
touch $DIR/$tfile touch $DIR/$tfile
fail mds fail mds1
$CHECKSTAT -t file $DIR/$tfile || return 1 $CHECKSTAT -t file $DIR/$tfile || return 1
rm $DIR/$tfile rm $DIR/$tfile
} }
...@@ -146,7 +141,7 @@ test_3a() { ...@@ -146,7 +141,7 @@ test_3a() {
replay_barrier mds replay_barrier mds
mcreate $DIR/$tfile mcreate $DIR/$tfile
o_directory $DIR/$tfile o_directory $DIR/$tfile
fail mds fail mds1
$CHECKSTAT -t file $DIR/$tfile || return 2 $CHECKSTAT -t file $DIR/$tfile || return 2
rm $DIR/$tfile rm $DIR/$tfile
} }
...@@ -158,7 +153,7 @@ test_3b() { ...@@ -158,7 +153,7 @@ test_3b() {
do_facet mds "sysctl -w lustre.fail_loc=0x80000114" do_facet mds "sysctl -w lustre.fail_loc=0x80000114"
touch $DIR/$tfile touch $DIR/$tfile
do_facet mds "sysctl -w lustre.fail_loc=0" do_facet mds "sysctl -w lustre.fail_loc=0"
fail mds fail mds1
$CHECKSTAT -t file $DIR/$tfile && return 2 $CHECKSTAT -t file $DIR/$tfile && return 2
return 0 return 0
} }
...@@ -170,7 +165,7 @@ test_3c() { ...@@ -170,7 +165,7 @@ test_3c() {
do_facet mds "sysctl -w lustre.fail_loc=0x80000128" do_facet mds "sysctl -w lustre.fail_loc=0x80000128"
touch $DIR/$tfile touch $DIR/$tfile
do_facet mds "sysctl -w lustre.fail_loc=0" do_facet mds "sysctl -w lustre.fail_loc=0"
fail mds fail mds1
$CHECKSTAT -t file $DIR/$tfile && return 2 $CHECKSTAT -t file $DIR/$tfile && return 2
return 0 return 0
...@@ -182,7 +177,7 @@ test_4() { ...@@ -182,7 +177,7 @@ test_4() {
for i in `seq 10`; do for i in `seq 10`; do
echo "tag-$i" > $DIR/$tfile-$i echo "tag-$i" > $DIR/$tfile-$i
done done
fail mds fail mds1
for i in `seq 10`; do for i in `seq 10`; do
grep -q "tag-$i" $DIR/$tfile-$i || error "$tfile-$i" grep -q "tag-$i" $DIR/$tfile-$i || error "$tfile-$i"
done done
...@@ -192,7 +187,7 @@ run_test 4 "|x| 10 open(O_CREAT)s" ...@@ -192,7 +187,7 @@ run_test 4 "|x| 10 open(O_CREAT)s"
test_4b() { test_4b() {
replay_barrier mds replay_barrier mds
rm -rf $DIR/$tfile-* rm -rf $DIR/$tfile-*
fail mds fail mds1
$CHECKSTAT -t file $DIR/$tfile-* && return 1 || true $CHECKSTAT -t file $DIR/$tfile-* && return 1 || true
} }
run_test 4b "|x| rm 10 files" run_test 4b "|x| rm 10 files"
...@@ -204,7 +199,7 @@ test_5() { ...@@ -204,7 +199,7 @@ test_5() {
for i in `seq 220`; do for i in `seq 220`; do
echo "tag-$i" > $DIR/$tfile-$i echo "tag-$i" > $DIR/$tfile-$i
done done
fail mds fail mds1
for i in `seq 220`; do for i in `seq 220`; do
grep -q "tag-$i" $DIR/$tfile-$i || error "f1c-$i" grep -q "tag-$i" $DIR/$tfile-$i || error "f1c-$i"
done done
...@@ -219,7 +214,7 @@ test_6() { ...@@ -219,7 +214,7 @@ test_6() {
replay_barrier mds replay_barrier mds
mkdir $DIR/$tdir mkdir $DIR/$tdir
mcreate $DIR/$tdir/$tfile mcreate $DIR/$tdir/$tfile
fail mds fail mds1
$CHECKSTAT -t dir $DIR/$tdir || return 1 $CHECKSTAT -t dir $DIR/$tdir || return 1
$CHECKSTAT -t file $DIR/$tdir/$tfile || return 2 $CHECKSTAT -t file $DIR/$tdir/$tfile || return 2
sleep 2 sleep 2
...@@ -230,7 +225,7 @@ run_test 6 "mkdir + contained create" ...@@ -230,7 +225,7 @@ run_test 6 "mkdir + contained create"
test_6b() { test_6b() {
replay_barrier mds replay_barrier mds
rm -rf $DIR/$tdir rm -rf $DIR/$tdir
fail mds fail mds1
$CHECKSTAT -t dir $DIR/$tdir && return 1 || true $CHECKSTAT -t dir $DIR/$tdir && return 1 || true
} }
run_test 6b "|X| rmdir" run_test 6b "|X| rmdir"
...@@ -239,7 +234,7 @@ test_7() { ...@@ -239,7 +234,7 @@ test_7() {
mkdir $DIR/$tdir mkdir $DIR/$tdir
replay_barrier mds replay_barrier mds
mcreate $DIR/$tdir/$tfile mcreate $DIR/$tdir/$tfile
fail mds fail mds1
$CHECKSTAT -t dir $DIR/$tdir || return 1 $CHECKSTAT -t dir $DIR/$tdir || return 1
$CHECKSTAT -t file $DIR/$tdir/$tfile || return 2 $CHECKSTAT -t file $DIR/$tdir/$tfile || return 2
rm -fr $DIR/$tdir rm -fr $DIR/$tdir
...@@ -251,7 +246,7 @@ test_8() { ...@@ -251,7 +246,7 @@ test_8() {
multiop $DIR/$tfile mo_c & multiop $DIR/$tfile mo_c &
MULTIPID=$! MULTIPID=$!
sleep 1 sleep 1
fail mds fail mds1
ls $DIR/$tfile ls $DIR/$tfile
$CHECKSTAT -t file $DIR/$tfile || return 1 $CHECKSTAT -t file $DIR/$tfile || return 1
kill -USR1 $MULTIPID || return 2 kill -USR1 $MULTIPID || return 2
...@@ -264,7 +259,7 @@ test_9() { ...@@ -264,7 +259,7 @@ test_9() {
replay_barrier mds replay_barrier mds
mcreate $DIR/$tfile mcreate $DIR/$tfile
local old_inum=`ls -i $DIR/$tfile | awk '{print $1}'` local old_inum=`ls -i $DIR/$tfile | awk '{print $1}'`
fail mds fail mds1
local new_inum=`ls -i $DIR/$tfile | awk '{print $1}'` local new_inum=`ls -i $DIR/$tfile | awk '{print $1}'`
echo " old_inum == $old_inum, new_inum == $new_inum" echo " old_inum == $old_inum, new_inum == $new_inum"
...@@ -284,7 +279,7 @@ test_10() { ...@@ -284,7 +279,7 @@ test_10() {
replay_barrier mds replay_barrier mds
mv $DIR/$tfile $DIR/$tfile-2 mv $DIR/$tfile $DIR/$tfile-2
rm -f $DIR/$tfile rm -f $DIR/$tfile
fail mds fail mds1
$CHECKSTAT $DIR/$tfile && return 1 $CHECKSTAT $DIR/$tfile && return 1
$CHECKSTAT $DIR/$tfile-2 ||return 2 $CHECKSTAT $DIR/$tfile-2 ||return 2
rm $DIR/$tfile-2 rm $DIR/$tfile-2
...@@ -300,7 +295,7 @@ test_11() { ...@@ -300,7 +295,7 @@ test_11() {
echo "new" > $DIR/$tfile echo "new" > $DIR/$tfile
grep new $DIR/$tfile grep new $DIR/$tfile
grep old $DIR/$tfile-2 grep old $DIR/$tfile-2
fail mds fail mds1
grep new $DIR/$tfile || return 1 grep new $DIR/$tfile || return 1
grep old $DIR/$tfile-2 || return 2 grep old $DIR/$tfile-2 || return 2
} }
...@@ -317,7 +312,7 @@ test_12() { ...@@ -317,7 +312,7 @@ test_12() {
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 1 wait $pid || return 1
fail mds fail mds1
[ -e $DIR/$tfile ] && return 2 [ -e $DIR/$tfile ] && return 2
return 0 return 0
} }
...@@ -335,7 +330,7 @@ test_13() { ...@@ -335,7 +330,7 @@ test_13() {
chmod 0 $DIR/$tfile chmod 0 $DIR/$tfile
$CHECKSTAT -p 0 $DIR/$tfile $CHECKSTAT -p 0 $DIR/$tfile
replay_barrier mds replay_barrier mds
fail mds fail mds1
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 1 wait $pid || return 1
...@@ -354,7 +349,7 @@ test_14() { ...@@ -354,7 +349,7 @@ test_14() {
kill -USR1 $pid || return 1 kill -USR1 $pid || return 1
wait $pid || return 2 wait $pid || return 2
fail mds fail mds1
[ -e $DIR/$tfile ] && return 3 [ -e $DIR/$tfile ] && return 3
return 0 return 0
} }
...@@ -371,7 +366,7 @@ test_15() { ...@@ -371,7 +366,7 @@ test_15() {
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 2 wait $pid || return 2
fail mds fail mds1
[ -e $DIR/$tfile ] && return 3 [ -e $DIR/$tfile ] && return 3
touch $DIR/h11 || return 4 touch $DIR/h11 || return 4
return 0 return 0
...@@ -384,7 +379,7 @@ test_16() { ...@@ -384,7 +379,7 @@ test_16() {
mcreate $DIR/$tfile mcreate $DIR/$tfile
munlink $DIR/$tfile munlink $DIR/$tfile
mcreate $DIR/$tfile-2 mcreate $DIR/$tfile-2
fail mds fail mds1
[ -e $DIR/$tfile ] && return 1 [ -e $DIR/$tfile ] && return 1
[ -e $DIR/$tfile-2 ] || return 2 [ -e $DIR/$tfile-2 ] || return 2
munlink $DIR/$tfile-2 || return 3 munlink $DIR/$tfile-2 || return 3
...@@ -397,7 +392,7 @@ test_17() { ...@@ -397,7 +392,7 @@ test_17() {
pid=$! pid=$!
# give multiop a chance to open # give multiop a chance to open
sleep 1 sleep 1
fail mds fail mds1
kill -USR1 $pid || return 1 kill -USR1 $pid || return 1
wait $pid || return 2 wait $pid || return 2
$CHECKSTAT -t file $DIR/$tfile || return 3 $CHECKSTAT -t file $DIR/$tfile || return 3
...@@ -417,7 +412,7 @@ test_18() { ...@@ -417,7 +412,7 @@ test_18() {
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 2 wait $pid || return 2
fail mds fail mds1
[ -e $DIR/$tfile ] && return 3 [ -e $DIR/$tfile ] && return 3
[ -e $DIR/$tfile-2 ] || return 4 [ -e $DIR/$tfile-2 ] || return 4
# this touch frequently fails # this touch frequently fails
...@@ -435,7 +430,7 @@ test_19() { ...@@ -435,7 +430,7 @@ test_19() {
echo "old" > $DIR/$tfile echo "old" > $DIR/$tfile
mv $DIR/$tfile $DIR/$tfile-2 mv $DIR/$tfile $DIR/$tfile-2
grep old $DIR/$tfile-2 grep old $DIR/$tfile-2
fail mds fail mds1
grep old $DIR/$tfile-2 || return 2 grep old $DIR/$tfile-2 || return 2
} }
run_test 19 "|X| mcreate, open, write, rename " run_test 19 "|X| mcreate, open, write, rename "
...@@ -448,7 +443,7 @@ test_20() { ...@@ -448,7 +443,7 @@ test_20() {
sleep 1 sleep 1
rm -f $DIR/$tfile rm -f $DIR/$tfile
fail mds fail mds1
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 1 wait $pid || return 1
[ -e $DIR/$tfile ] && return 2 [ -e $DIR/$tfile ] && return 2
...@@ -465,7 +460,7 @@ test_21() { ...@@ -465,7 +460,7 @@ test_21() {
rm -f $DIR/$tfile rm -f $DIR/$tfile
touch $DIR/g11 || return 1 touch $DIR/g11 || return 1
fail mds fail mds1
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 2 wait $pid || return 2
[ -e $DIR/$tfile ] && return 3 [ -e $DIR/$tfile ] && return 3
...@@ -483,7 +478,7 @@ test_22() { ...@@ -483,7 +478,7 @@ test_22() {
replay_barrier mds replay_barrier mds
rm -f $DIR/$tfile rm -f $DIR/$tfile
fail mds fail mds1
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 1 wait $pid || return 1
[ -e $DIR/$tfile ] && return 2 [ -e $DIR/$tfile ] && return 2
...@@ -501,7 +496,7 @@ test_23() { ...@@ -501,7 +496,7 @@ test_23() {
rm -f $DIR/$tfile rm -f $DIR/$tfile
touch $DIR/g11 || return 1 touch $DIR/g11 || return 1
fail mds fail mds1
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 2 wait $pid || return 2
[ -e $DIR/$tfile ] && return 3 [ -e $DIR/$tfile ] && return 3
...@@ -517,7 +512,7 @@ test_24() { ...@@ -517,7 +512,7 @@ test_24() {
sleep 1 sleep 1
replay_barrier mds replay_barrier mds
fail mds fail mds1
rm -f $DIR/$tfile rm -f $DIR/$tfile
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 1 wait $pid || return 1
...@@ -534,7 +529,7 @@ test_25() { ...@@ -534,7 +529,7 @@ test_25() {
rm -f $DIR/$tfile rm -f $DIR/$tfile
replay_barrier mds replay_barrier mds
fail mds fail mds1
kill -USR1 $pid kill -USR1 $pid
wait $pid || return 1 wait $pid || return 1
[ -e $DIR/$tfile ] && return 2 [ -e $DIR/$tfile ] && return 2
...@@ -555,7 +550,7 @@ test_26() { ...@@ -555,7 +550,7 @@ test_26() {
kill -USR1 $pid2 kill -USR1 $pid2
wait $pid2 || return 1 wait $pid2 || return 1
fail mds fail mds1
kill -USR1 $pid1 kill -USR1 $pid1
wait $pid1 || return 2 wait $pid1 || return 2
[ -e $DIR/$tfile-1 ] && return 3 [ -e $DIR/$tfile-1 ] && return 3
...@@ -575,7 +570,7 @@ test_27() { ...@@ -575,7 +570,7 @@ test_27() {
rm -f $DIR/$tfile-1 rm -f $DIR/$tfile-1
rm -f $DIR/$tfile-2 rm -f $DIR/$tfile-2
fail mds fail mds1
kill -USR1 $pid1 kill -USR1 $pid1
wait $pid1 || return 1 wait $pid1 || return 1
kill -USR1 $pid2 kill -USR1 $pid2
...@@ -599,7 +594,7 @@ test_28() { ...@@ -599,7 +594,7 @@ test_28() {
kill -USR1 $pid2 kill -USR1 $pid2
wait $pid2 || return 1 wait $pid2 || return 1
fail mds fail mds1
kill -USR1 $pid1 kill -USR1 $pid1
wait $pid1 || return 2 wait $pid1 || return 2
[ -e $DIR/$tfile-1 ] && return 3 [ -e $DIR/$tfile-1 ] && return 3
...@@ -619,7 +614,7 @@ test_29() { ...@@ -619,7 +614,7 @@ test_29() {
rm -f $DIR/$tfile-1 rm -f $DIR/$tfile-1
rm -f $DIR/$tfile-2 rm -f $DIR/$tfile-2
fail mds fail mds1
kill -USR1 $pid1 kill -USR1 $pid1
wait $pid1 || return 1 wait $pid1 || return 1
kill -USR1 $pid2 kill -USR1 $pid2
...@@ -641,7 +636,7 @@ test_30() { ...@@ -641,7 +636,7 @@ test_30() {
rm -f $DIR/$tfile-2 rm -f $DIR/$tfile-2
replay_barrier mds replay_barrier mds
fail mds fail mds1
kill -USR1 $pid1 kill -USR1 $pid1
wait $pid1 || return 1 wait $pid1 || return 1
kill -USR1 $pid2 kill -USR1 $pid2
...@@ -663,7 +658,7 @@ test_31() { ...@@ -663,7 +658,7 @@ test_31() {
replay_barrier mds replay_barrier mds
rm -f $DIR/$tfile-2 rm -f $DIR/$tfile-2
fail mds fail mds1
kill -USR1 $pid1 kill -USR1 $pid1
wait $pid1 || return 1 wait $pid1 || return 1
kill -USR1 $pid2 kill -USR1 $pid2
...@@ -775,7 +770,7 @@ test_38() { ...@@ -775,7 +770,7 @@ test_38() {
createmany -o $DIR/$tfile-%d 800 createmany -o $DIR/$tfile-%d 800
unlinkmany $DIR/$tfile-%d 0 400 unlinkmany $DIR/$tfile-%d 0 400
replay_barrier mds replay_barrier mds
fail mds fail mds1
unlinkmany $DIR/$tfile-%d 400 400 unlinkmany $DIR/$tfile-%d 400 400
sleep 2 sleep 2
$CHECKSTAT -t file $DIR/$tfile-* && return 1 || true $CHECKSTAT -t file $DIR/$tfile-* && return 1 || true
...@@ -786,7 +781,7 @@ test_39() { ...@@ -786,7 +781,7 @@ test_39() {
createmany -o $DIR/$tfile-%d 800 createmany -o $DIR/$tfile-%d 800
replay_barrier mds replay_barrier mds
unlinkmany $DIR/$tfile-%d 0 400 unlinkmany $DIR/$tfile-%d 0 400
fail mds fail mds1
unlinkmany $DIR/$tfile-%d 400 400 unlinkmany $DIR/$tfile-%d 400 400
sleep 2 sleep 2
$CHECKSTAT -t file $DIR/$tfile-* && return 1 || true $CHECKSTAT -t file $DIR/$tfile-* && return 1 || true
...@@ -928,7 +923,7 @@ run_test 45 "Handle failed close" ...@@ -928,7 +923,7 @@ run_test 45 "Handle failed close"
test_46() { test_46() {
dmesg -c >/dev/null dmesg -c >/dev/null
drop_reply "touch $DIR/$tfile" drop_reply "touch $DIR/$tfile"
fail mds fail mds1
# ironically, the previous test, 45, will cause a real forced close, # ironically, the previous test, 45, will cause a real forced close,
# so just look for one for this test # so just look for one for this test
dmesg | grep -i "force closing client file handle for $tfile" && return 1 dmesg | grep -i "force closing client file handle for $tfile" && return 1
......
...@@ -56,6 +56,9 @@ init_test_env() { ...@@ -56,6 +56,9 @@ init_test_env() {
esac esac
done done
shift $((OPTIND - 1))
ONLY=${ONLY:-$*}
# save the name of the config file for the upcall # save the name of the config file for the upcall
echo "XMLCONFIG=$LUSTRE/tests/$XMLCONFIG" > $LUSTRE/tests/XMLCONFIG echo "XMLCONFIG=$LUSTRE/tests/$XMLCONFIG" > $LUSTRE/tests/XMLCONFIG
# echo "CONFIG=`canonical_path $CONFIG`" > $LUSTRE/tests/CONFIG # echo "CONFIG=`canonical_path $CONFIG`" > $LUSTRE/tests/CONFIG
...@@ -276,21 +279,24 @@ do_node() { ...@@ -276,21 +279,24 @@ do_node() {
fi fi
$PDSH $HOST "(PATH=\$PATH:$RLUSTRE/utils:$RLUSTRE/tests; cd $RPWD; sh -c \"$@\")" $PDSH $HOST "(PATH=\$PATH:$RLUSTRE/utils:$RLUSTRE/tests; cd $RPWD; sh -c \"$@\")"
} }
mds_list() {
seq -f mds%g $MDSCOUNT
}
do_facet() { do_facet() {
facet=$1 facet=$1
shift shift
if [ "$facet" == "mds" ]; then if [ "$facet" == "mds" ]; then
if [ "$MDSCOUNT" -gt 1 ]; then for mds in `mds_list`; do
for num in `seq $MDSCOUNT`; do HOST=`facet_active_host $mds`
HOST=`facet_active_host $facet$num` do_node $HOST $@
do_node $HOST $@ done
done else
return HOST=`facet_active_host $facet`
fi do_node $HOST $@
fi fi
HOST=`facet_active_host $facet`
do_node $HOST $@
} }
add_facet() { add_facet() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment