#!/bin/sh set -vx SRCDIR="`dirname $0`" . $SRCDIR/common.sh test_fail() { echo $1 > /proc/sys/lustre/fail_loc shift $* & sleep 1 kill -9 $! echo 0 > /proc/sys/lustre/fail_loc umount /mnt/lustre || fail "cannot unmount /mnt/lustre" mount -t lustre_lite -o device=`$OBDCTL name2dev OSCDEV` none /mnt/lustre || fail "cannot remount device '`$OBDCTL name2dev OSCDEV`' on /mnt/lustre" } [ -c /dev/request ] || mknod /dev/request c 10 244 [ "`mount | grep /mnt/lustre`" ] || echo | sh llmount.sh || exit -1 # GETATTR_NET - ls will hang on the getattr test_fail 0x102 ls -l /mnt/lustre # READPAGE_NET - ls will hang reading in new pages (lost+found is not in cache) test_fail 0x104 ls /mnt/lustre sleep 1 # REINT_NET - touch will hang on setattr test_fail 0x107 touch /mnt/lustre # REINT_NET - touch will hang on create test_fail 0x107 touch /mnt/lustre/tt # REINT_NET - mv will hang on rename touch /mnt/lustre/foo test_fail 0x107 mv /mnt/lustre/foo /mnt/lustre/bar # REINT_NET - rm will hang on unlink touch /mnt/lustre/salmon test_fail 0x107 rm /mnt/lustre/salmon # OPEN_NET - touch will hang on open touch /mnt/lustre/foo test_fail 0x113 cat /mnt/lustre/foo # CLOSE_NET - ls will hang on close test_fail 0x115 ./testreq --close junk_file_handle echo 0 > /proc/sys/lustre/fail_loc echo "Done."