}
fail() {
- stop mds
+ stop mds -f --failover
start mds
df $MOUNTPT
}
do_lmc --add mtpt --node client_facet --path $MOUNTPT --mds mds1 --ost ost1
}
+error() {
+ echo '**** FAIL:' $@
+ exit 1
+}
+
+EQUALS="======================================================================"
+
+run_test() {
+ testnum=$1
+ message=$2
+
+ # Pretty tests run faster.
+ echo '=====' $testnum: $message
+ local suffixlen=$((65 - `echo -n $2 | wc -c | awk '{print $1}'`))
+ printf '%.*s\n' $suffixlen $EQUALS
+
+ test_${testnum} || error "test_$testnum failed with $?"
+}
+
gen_config
-start mds
-start ost
-start client
+start mds --reformat $MDSLCONFARGS
+start ost --reformat $OSTLCONFARGS
+start client --gdb $CLIENTLCONFARGS
-touch $MOUNTPT/lustre-works
-replay_barrier mds
-touch $MOUNTPT/lustre-does-not-work
+test_1() {
+ replay_barrier mds
+ mcreate $MOUNTPT/f1
+ fail
+ rm $MOUNTPT/f1
+}
+run_test 1 "simple create"
+
+test_2() {
+ replay_barrier mds
+ mkdir $MOUNTPT/d2
+ mcreate $MOUNTPT/d2/f2
+ fail
+ rm -fr $MOUNTPT/d2
+}
+run_test 2 "mkdir + contained create"
+
+test_3() {
+ mkdir $MOUNTPT/d3
+ replay_barrier mds
+ mcreate $MOUNTPT/d3/f3
+ fail
+ rm -fr $MOUNTPT/d3
+}
+run_test 3 "mkdir |X| contained create"
-stop client
+stop client $CLIENTLCONFARGS
stop ost
stop mds