test_3() {
verify=$ROOT/tmp/verify-$$
- dd if=/dev/urandom bs=1024 count=5120 | tee $verify > $DIR/$tfile &
+ dd if=/dev/urandom bs=4096 count=1280 | tee $verify > $DIR/$tfile &
ddpid=$!
sync &
fail ost
test_4() {
verify=$ROOT/tmp/verify-$$
- dd if=/dev/urandom bs=1024 count=5120 | tee $verify > $DIR/$tfile
+ dd if=/dev/urandom bs=4096 count=1280 | tee $verify > $DIR/$tfile
# invalidate cache, so that we're reading over the wire
for i in /proc/fs/lustre/ldlm/namespaces/OSC_*MNT*; do
echo -n clear > $i/lru_size
run_test 5 "Fail OST during iozone"
kbytesfree() {
- cat /proc/fs/lustre/osc/OSC_*MNT*/kbytesfree | awk '{total+=$1} END {print total}'
+ awk '{total+=$1} END {print total}' /proc/fs/lustre/osc/OSC_*MNT*/kbytesfree
}
test_6() {
f=$DIR/$tfile
+ rm -f $f
+ sync && sleep 2 && sync # wait for delete thread
before=`kbytesfree`
- dd if=/dev/urandom bs=1024 count=5120 of=$f
+ dd if=/dev/urandom bs=4096 count=1280 of=$f
#define OBD_FAIL_MDS_REINT_NET_REP 0x119
do_facet mds "sysctl -w lustre.fail_loc=0x80000119"
sync
+ sleep 1 # ensure we have a fresh statfs
after_dd=`kbytesfree`
- echo "before: $before after_dd: $after_dd"
- (( before > after_dd )) || return 1
+ log "before: $before after_dd: $after_dd"
+ (( $before > $after_dd )) || return 1
rm -f $f
fail ost
$CHECKSTAT -t file $f && return 2 || true
# let the delete happen
sleep 2
after=`kbytesfree`
- echo "before: $before after: $after"
- (( before == after )) || return 3
+ log "before: $before after: $after"
+ (( $before <= $after + 40 )) || return 3 # take OST logs into account
}
run_test 6 "Fail OST before obd_destroy"
test_7() {
f=$DIR/$tfile
before=`kbytesfree`
- dd if=/dev/urandom bs=1024 count=5120 of=$f
+ rm -f $f
+ sync && sleep 2 && sync # wait for delete thread
+ dd if=/dev/urandom bs=4096 count=1280 of=$f
sync
after_dd=`kbytesfree`
- echo "before: $before after_dd: $after_dd"
- (( before > after_dd )) || return 1
+ log "before: $before after_dd: $after_dd"
+ (( $before > $after_dd )) || return 1
replay_barrier ost
rm -f $f
fail ost
# let the delete happen
sleep 2
after=`kbytesfree`
- echo "before: $before after: $after"
- (( before == after )) || return 3
+ log "before: $before after: $after"
+ (( $before == $after )) || return 3
}
run_test 7 "Fail OST before obd_destroy"