MDSNODE=${MDSNODE:-mdev6}
OSTNODE=${OSTNODE:-mdev7}
CLIENT=${CLIENT:-mdev8}
-NETWORKTYPE=${NETWORKTYPE:-tcp}
+NETTYPE=${NETTYPE:-tcp}
MOUNTPT=${MOUNTPT:-/mnt/lustre}
CONFIG=${CONFIG:-recovery-cleanup.xml}
-MDSDEV=${MDSDEV:-/tmp/mds}
-OSTDEV=${OSTDEV:-/tmp/ost}
+MDSDEV=${MDSDEV:-/tmp/mds1-`hostname`}
MDSSIZE=${MDSSIZE:-100000}
+FSTYPE=${FSTYPE:-ext3}
+OSTDEV=${OSTDEV:-/tmp/ost1-`hostname`}
OSTSIZE=${OSTSIZE:-100000}
+STRIPE_BYTES=${STRIPE_BYTES:-1048576}
do_mds() {
- $PDSH $MDSNODE "PATH=\$PATH:$LUSTRE/utils:$LUSTRE/tests; cd $PWD; $@"
+ $PDSH $MDSNODE "PATH=\$PATH:$LUSTRE/utils:$LUSTRE/tests; cd $PWD; $@" || exit $?
}
do_client() {
- $PDSH $CLIENT "PATH=\$PATH:$LUSTRE/utils:$LUSTRE/tests; cd $PWD; $@"
+ $PDSH $CLIENT "PATH=\$PATH:$LUSTRE/utils:$LUSTRE/tests; cd $PWD; $@" || exit $?
}
do_ost() {
- $PDSH $OSTNODE "PATH=\$PATH:$LUSTRE/utils:$LUSTRE/tests; cd $PWD; $@"
+ $PDSH $OSTNODE "PATH=\$PATH:$LUSTRE/utils:$LUSTRE/tests; cd $PWD; $@" || exit $?
}
drop_request() {
make_config() {
rm -f $CONFIG
for NODE in $CLIENT $MDSNODE $OSTNODE; do
- lmc -m $CONFIG --add net --node $NODE --nid `h2$NETWORKTYPE $NODE` \
- --nettype $NETWORKTYPE || exit 4
+ lmc -m $CONFIG --add net --node $NODE --nid `h2$NETTYPE $NODE` \
+ --nettype $NETTYPE || exit 4
done
- lmc -m $CONFIG --add mds --node $MDSNODE --mds mds1 --dev $MDSDEV \
- --size $MDSSIZE || exit 5
- lmc -m $CONFIG --add ost --node $OSTNODE --ost ost1 --dev $OSTDEV \
- --size $OSTSIZE || exit 6
- lmc -m $CONFIG --add mtpt --node $CLIENT --path $MOUNTPT --mds mds1 \
- --ost ost1 || exit 7
+ lmc -m $CONFIG --add mds --node $MDSNODE --mds mds1 --fstype $FSTYPE \
+ --dev $MDSDEV --size $MDSSIZE || exit 5
+ lmc -m $CONFIG --add lov --lov lov1 --mds mds1 --stripe_sz $STRIPE_BYTES \
+ --stripe_cnt 0 --stripe_pattern 0 || exit 6
+ lmc -m $CONFIG --add ost --nspath /mnt/ost_ns --node $OSTNODE \
+ --lov lov1 --dev $OSTDEV --size $OSTSIZE --fstype $FSTYPE || exit 7
+ lmc -m $CONFIG --add mtpt --node $CLIENT --path $MOUNTPT \
+ --mds mds1 --lov lov1 || exit 8
}
start_mds() {
make_config
start_mds ${REFORMAT:---reformat}
start_ost ${REFORMAT:---reformat}
- mount_client --timeout=${TIMEOUT:-5} --recovery_upcall=/bin/true
+ mount_client --timeout=${TIMEOUT:-5} --lustre_upcall=/bin/true
}
cleanup() {
do_mds "echo 0 > /proc/sys/lustre/fail_loc"
- unmount_client $@ || true
- shutdown_mds $@ || true
- shutdown_ost $@ || true
+ unmount_client $@ || exit 97
+ shutdown_mds $@ || exit 98
+ shutdown_ost $@ || exit 99
}
wait_for_timeout() {
try_to_cleanup() {
kill -INT $!
- unmount_client --force --dump /tmp/client-cleanup-`date +%s`.log
- mount_client --timeout=${TIMEOUT:-5} --recovery_upcall=/bin/true
+ unmount_client --force --dump $TMP/recovery-cleanup-`hostname`.log
+ mount_client --timeout=${TIMEOUT:-5} --lustre_upcall=/bin/true
}
if [ ! -z "$ONLY" ]; then
drop_request "statone /mnt/lustre/2" & wait_for_timeout
try_to_cleanup
-do_client "cp /etc/resolv.conf /mnt/lustre/resolv.conf"
-drop_request "cat /mnt/lustre/resolv.conf > /dev/null" & wait_for_timeout
+do_client "cp /etc/inittab /mnt/lustre/inittab"
+drop_request "cat /mnt/lustre/inittab > /dev/null" & wait_for_timeout
try_to_cleanup
-drop_request "mv /mnt/lustre/resolv.conf /mnt/lustre/renamed" & wait_for_timeout
+drop_request "mv /mnt/lustre/inittab /mnt/lustre/renamed" & wait_for_timeout
try_to_cleanup
drop_request "mlink /mnt/lustre/renamed-again /mnt/lustre/link1" & wait_for_timeout
drop_request "munlink /mnt/lustre/link1" & wait_for_timeout
try_to_cleanup
-$CLEANUP '--dump /tmp/`hostname`-cleanup.log'
+FORCE=--force $CLEANUP '--dump $TMP/recovery-cleanup-`hostname`.log'