##/bin/sh
#
# Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it would be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Further, this software is distributed without any warranty that it is
# free of the rightful claim of any third person regarding infringement
# or the like. Any license provided herein, whether implied or
# otherwise, applies only to this software file. Patent licenses, if
# any, provided herein do not apply to combinations of this program with
# other software, or any other product whatsoever.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write the Free Software Foundation, Inc., 59
# Temple Place - Suite 330, Boston MA 02111-1307, USA.
#
# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
# Mountain View, CA 94043, or:
#
# http://www.sgi.com
#
# For further information regarding this notice, see:
#
# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
#
#
# setup and check for config parameters, and in particular
#
# TEST_DIR - scratch test directory that is in an already
# mounted XFS file system, needs to be be world
# writeable
# TEST_DEV - device for file system containing TEST_DIR
# SCRATCH_DEV - device you can make a scratch file system on
# SCRATCH_MNT - mount point for scratch file system
#
# and optionally:
# SCRATCH_LOGDEV - scratch log device for external log testing
# SCRATCH_RTDEV - scratch rt dev (only for testing cmds currently)
# TAPE_DEV - the tape device for the xfsdump tests
# RMT_TAPE_DEV - the remote tape device for the xfsdump tests
# RMT_IRIXTAPE_DEV - the IRIX remote tape device for the xfsdump tests
# RMT_TAPE_USER - remote user for tape device
#
#
# - This script is shared by the stress test system and the auto-qa
# system
# - TEST_DEV & TEST_DIR must be assigned.
# - this script shouldn't make any assertions about filesystem
# validity or mountedness.
#
_readlink()
{
if [ $# -ne 1 ]
then
echo "Usage: _readlink filename" 1>&2
exit 1
fi
perl -e "\$in=\"$1\";" -e '
$lnk = readlink($in);
if ($lnk =~ m!^/.*!) {
print "$lnk\n";
}
else {
chomp($dir = `dirname $in`);
print "$dir/$lnk\n";
}'
}
case `hostname -s`
in
fuzzy)
TEST_DEV=/dev/sda6
TEST_DIR=/mnt/xfs1
SCRATCH_DEV=/dev/sda5
SCRATCH_MNT=/mnt/xfs0
SCRATCH_LOGDEV=/dev/sda7
TAPE_DEV=/dev/st0
RMT_TAPE_DEV=fuzzy:/dev/st0
RMT_IRIXTAPE_DEV=snort:/dev/tape
RMT_TAPE_USER=guest
;;
bruce)
TEST_DEV=/dev/sda10
TEST_DIR=/mnt/xfs1
SCRATCH_DEV=/dev/sda9
SCRATCH_MNT=/mnt/xfs0
SCRATCH_LOGDEV=/dev/sda11
TAPE_DEV=/dev/st0
RMT_TAPE_DEV=bruce:/dev/st0
RMT_IRIXTAPE_DEV=snort:/dev/tape
;;
sherman)
TEST_DEV=/dev/sda10
TEST_DIR=/mnt/xfs1
SCRATCH_DEV=/dev/sda9
SCRATCH_MNT=/mnt/xfs0
;;
sagan)
TEST_DEV=/dev/sda6
TEST_DIR=/mnt/xfs0
SCRATCH_DEV=/dev/sda7
SCRATCH_MNT=/mnt/xfs1
TAPE_DEV=/dev/st0
RMT_TAPE_DEV=sagan:/dev/st0
RMT_IRIXTAPE_DEV=snort:/dev/tape
RMT_TAPE_USER=guest
;;
leesa)
TEST_DEV=/dev/xfs_test
TEST_DIR=/mnt/xfs_test
SCRATCH_DEV=/dev/xfs_scratch
SCRATCH_MNT=/mnt/xfs_scratch
SCRATCH_LOGDEV=/dev/xfs_log
;;
troppo)
TEST_DEV=/dev/hdb13
TEST_DIR=/mnt/test
SCRATCH_DEV=/dev/hdb14
SCRATCH_MNT=/mnt/scratch
SCRATCH_RTDEV=/dev/hdb15
SCRATCH_LOGDEV=/dev/hdb16
;;
lord)
TEST_DIR=/xfs
TEST_DEV=/dev/sda4
SCRATCH_DEV=/dev/hda2
SCRATCH_MNT=/xfs1
;;
lumpy)
TEST_DEV=/dev/sdc5
TEST_DIR=/mnt/scratch_0
SCRATCH_DEV=/dev/sdc7
SCRATCH_MNT=/mnt/scratch_2
;;
bongo)
TEST_DEV=/dev/hda8
TEST_DIR=/xfs1
SCRATCH_DEV=/dev/hda9
SCRATCH_MNT=/xfs2
SCRATCH_LOGDEV=/dev/hda10
SCRATCH_RTDEV=/dev/hda11
;;
snowy)
TEST_DEV=/dev/sda7
TEST_DIR=/mnt/xfs0
SCRATCH_DEV=/dev/sda8
SCRATCH_MNT=/mnt/xfs1
SCRATCH_LOGDEV=/dev/sda9
;;
surly)
TEST_DEV=/dev/hda9
TEST_DIR=/mnt/xfs1
SCRATCH_DEV=/dev/hda8
SCRATCH_MNT=/mnt/xfs0
SCRATCH_LOGDEV=/dev/hda10
TAPE_DEV=/dev/st0
RMT_TAPE_DEV=fuzzy:/dev/st0
RMT_IRIXTAPE_DEV=blub:/dev/tape
RMT_TAPE_USER=guest
;;
*)
echo "common.config: Error: need to define parameters for host `hostname -s`"
exit 1
;;
esac
if [ ! -b "$TEST_DEV" ]
then
echo "common.config: Error: \$TEST_DEV ($TEST_DEV) is not a block device"
exit 1
fi
if [ ! -d "$TEST_DIR" ]
then
echo "common.config: Error: \$TEST_DIR ($TEST_DIR) is not a directory"
exit 1
fi
if [ ! -z "$SCRATCH_DEV" -a ! -b "$SCRATCH_DEV" ]
then
echo "common.config: Error: \$SCRATCH_DEV ($SCRATCH_DEV) is not a block device"
exit 1
fi
if [ ! -z "$SCRATCH_DEV" -a ! -d "$SCRATCH_MNT" ]
then
echo "common.config: Error: \$SCRATCH_MNT ($SCRATCH_MNT) is not a directory"
exit 1
fi
# if devfs is running expand the full /dev/.. pathname - this is what will be
# returned by utilities such as mount
[ -L "$TEST_DEV" ] && TEST_DEV=`_readlink $TEST_DEV`
[ -L "$SCRATCH_DEV" ] && SCRATCH_DEV=`_readlink $SCRATCH_DEV`
[ -L "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=`_readlink $SCRATCH_LOGDEV`
[ -L "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=`_readlink $SCRATCH_LOGDEV`
# make sure this script returns success
/bin/true