run_test 2a "touch"
test_2b() {
- ./mcreate $DIR/$tfile
+ mcreate $DIR/$tfile
replay_barrier $SINGLEMDS
touch $DIR/$tfile
fail $SINGLEMDS
fail $SINGLEMDS # start orphan recovery
df -P $DIR || df -P $DIR || true # reconnect
- sleep 2
+ wait_mds_recovery_done || error "MDS recovery not done"
AFTERUSED=`df -P $DIR | tail -1 | awk '{ print $3 }'`
log "before $BEFOREUSED, after $AFTERUSED"
run_test 20b "write, unlink, eviction, replay, (test mds_cleanup_orphans)"
test_20c() { # bug 10480
- dd if=/dev/zero of=$DIR/$tfile bs=4k count=10000
-
- exec 100< $DIR/$tfile
+ multiop $DIR/$tfile Ow_c &
+ pid=$!
+ # give multiop a chance to open
+ sleep 1
ls -la $DIR/$tfile
df -P $DIR || df -P $DIR || true # reconnect
- exec 100<&-
-
+ kill -USR1 $pid
test -s $DIR/$tfile || error "File was truncated"
return 0
createmany -o $DIR/$tfile-%d 800
replay_barrier ost1
unlinkmany $DIR/$tfile-%d 0 400
- DEBUG42=`sysctl -n lnet.debug`
+ debugsave
sysctl -w lnet.debug=-1
facet_failover ost1
#[ $blocks_after -lt $blocks ] || return 1
echo wait for MDS to timeout and recover
sleep $((TIMEOUT * 2))
- sysctl -w lnet.debug="$DEBUG42"
+ debugrestore
unlinkmany $DIR/$tfile-%d 400 400
$CHECKSTAT -t file $DIR/$tfile-* && return 2 || true
}
run_test 48 "MDS->OSC failure during precreate cleanup (2824)"
test_50() {
- local oscdev=`grep ${ost1_svc}-osc-MDT0000 $LPROC/devices | awk '{print $1}'`
+ local oscdev=`do_facet $SINGLEMDS grep ${ost1_svc}-osc-MDT0000 $LPROC/devices | awk '{print $1}'`
[ "$oscdev" ] || return 1
- $LCTL --device $oscdev recover && $LCTL --device $oscdev recover
+ do_facet $SINGLEMDS $LCTL --device $oscdev recover || return 2
+ do_facet $SINGLEMDS $LCTL --device $oscdev recover || return 3
# give the mds_lov_sync threads a chance to run
sleep 5
}