SOAK_PASSES="-1"
SOAK_STRESS="10000"
SOAK_PROC="3"
-
+export MKFS_OPTIONS=${MKFS_OPTIONS:=-bsize=4096}
+export MOUNT_OPTIONS=${MOUNT_OPTIONS:=-ologbufs=2}
_log()
{
case $state
in
cron*)
- mail -s "xfs qa status report" $ADMINEMAIL \
+ mail -s "XFS QA status report" $ADMINEMAIL \
< $LOG 2>&1
;;
esac
_get_kernel_version()
{
- [ -x $WORKAREA ] \
+ [ -x "$WORKAREA" ] \
|| _fail "can't access workarea $WORKAREA"
- [ -r $WORKAREA/linux/Makefile ] \
+ [ -r "$WORKAREA/linux/Makefile" ] \
|| _fail "can't read makefile $WORKAREA/linux/Makefile"
eval `awk '
case $HOST
in
- fuzzy)
+ bruce)
EMAIL="nathans@larry"
ADMINEMAIL="nathans@larry"
- MODULAR=1
- ;;
- bruce)
- EMAIL="dxm@larry"
- ADMINEMAIL="dxm@larry"
- MODULAR=1
+ MODULAR=0
;;
sagan)
- EMAIL="dxm@larry"
- ADMINEMAIL="dxm@larry"
- MODULAR=0
+ EMAIL="tes@larry"
+ ADMINEMAIL="tes@larry"
+ MODULAR=1
;;
troppo)
- EMAIL="nathans@larry"
- ADMINEMAIL="nathans@larry"
+ EMAIL="kaos@larry"
+ ADMINEMAIL="kaos@larry"
MODULAR=0
;;
- goldfish)
+ frodo)
EMAIL="nathans@larry"
ADMINEMAIL="nathans@larry"
- MODULAR=1
+ MODULAR=0
;;
*)
_fail "auto-qa: no configuration information for host '$HOST'"
_restart()
{
- # erk - why won't this thing reboot reliably??
- exec $ROOT/su -c "(shutdown -r 2 \"auto-qa rebooting\" ; sleep 10 ; reboot ; sleep 10 ; reboot )&" < /dev/null
+ exec $ROOT/su -c "(shutdown -r now \"auto-qa rebooting\" )&" < /dev/null
}
_update_autoqa_file()
cron-restarted)
# we don't auto restart after reboot, but cron the restart
# to happen a bit later - it's much easier and safer that way
- if [ $state != "cron-restarted" ]
+ if [ "$state" != "cron-restarted" ]
then
_fail " !!! cron-restarted while not in \"cron-restarted\" state"
fi
_set_state $1
fi
-[ $UID -eq 0 ] && _fail " !!! QA most be run as a normal user"
-[ -d $ROOT ] || _fail " !!! QA root \"$ROOT\" not found"
-[ -d $WORKAREA ] || _fail " !!! QA workarea \"$WORKAREA\" not found"
-[ -r $CONFIG ] || _fail " !!! Can't read config file $CONFIG"
-. $COMMON_CONFIG || _fail " !!! Couldn't source $COMMON_CONFIG"
+[ "$UID" -eq 0 ] && _fail " !!! QA most be run as a normal user"
+[ -d "$ROOT" ] || _fail " !!! QA root \"$ROOT\" not found"
+[ -d "$WORKAREA" ] || _fail " !!! QA workarea \"$WORKAREA\" not found"
+[ -r "$CONFIG" ] || _fail " !!! Can't read config file $CONFIG"
+. "$COMMON_CONFIG" || _fail " !!! Couldn't source $COMMON_CONFIG"
_get_kernel_version
IMAGE="$BOOT/vmlinuz$EXTRA"
*clean)
# we need to configure or else we might fail to clean
- for pkg in attr acl xfsprogs xfsdump xfstests
+ for pkg in attr acl xfsprogs dmapi xfsdump xfstests
do
cd $WORKAREA/cmd/$pkg
_log " *** clean $pkg tools"
make EXTRAVERSION=$EXTRA dep 2>&1 \
|| _fail " !!! reconfig dep failed"
- new_state="build"
+ new_state="buildtools"
;;
- *build)
- _log " *** build kernel"
-
- _change_state "clean" ; # we better start from scratch if this fails
-
- cd $WORKAREA/linux
- make -j2 EXTRAVERSION=$EXTRA bzImage 2>&1 \
- || _fail " !!! build bzImage failed"
- make -j2 EXTRAVERSION=$EXTRA modules 2>&1 \
- || _fail " !!! build modules failed"
-
+ *buildtools)
_log " *** build and install tools"
- for pkg in attr acl xfsprogs xfsdump xfstests
+ for pkg in attr acl xfsprogs dmapi xfsdump xfstests
do
cd $WORKAREA/cmd/$pkg
_sudo make install install-dev 2>&1 \
|| _fail " !!! install $pkg failed"
+
+ # attr and acl now have install-lib targets as well
+ [ "$pkg" == "attr" -o "$pkg" == "acl" ] || continue
+ _sudo make install-lib 2>&1 \
+ || _fail " !!! install $pkg failed"
done
- new_state="install"
+ new_state="buildkernel"
;;
+
+ *buildkernel)
+ _log " *** build kernel"
+
+ _change_state "clean" ; # we better start from scratch if this fails
+ cd $WORKAREA/linux
+ make -j4 EXTRAVERSION=$EXTRA bzImage modules 2>&1 \
+ || _fail " !!! build bzImage/modules failed"
+ new_state="install"
+ ;;
+
*install)
_log " *** blat old modules"
_log " *** kernel"
ls -l /boot/*$EXTRA* 2>&1
_log " *** kernel modules"
- ls -l /lib/modules/$SVERSION$EXTRA/kernel/fs/pagebuf/* \
- /lib/modules/$SVERSION$EXTRA/kernel/fs/xfs/* \
+ ls -l /lib/modules/$SVERSION$EXTRA/kernel/fs/xfs/* \
/lib/modules/$SVERSION$EXTRA/kernel/fs/xfs_support/*
- if [ $MODULAR -eq 0 ]
+ if [ "$MODULAR" -eq 0 ]
then
new_state="reset"
else
_log " *** removing modules"
- for m in xfsidbg xfs pagebuf kdbm_pg kdbm_vm
+ for m in xfsidbg xfs kdbm_pg kdbm_vm
do
_sudo rmmod $m 2> /dev/null
done
_log " *** clean TEST_DEV"
- _sudo mkfs -t xfs -f $TEST_DEV 2>&1 \
+ _sudo mkfs -t xfs -f $MKFS_OPTIONS $TEST_DEV 2>&1 \
|| _fail " !!! failed to mkfs TEST_DEV"
_log " *** mounting TEST_DEV"
_log ""
_log " *** send status mail"
- mail -s "xfs qa status report" $EMAIL < $ROOT/qa.out 2>&1
+ mail -s "XFS QA status report" $EMAIL < $ROOT/qa.out 2>&1
new_state="done"
;;