db5c6cdce6002397a149c5b0793cf4d9a40b2310
[xfstests-dev.git] / common.config
1 ##/bin/sh
2 #
3 # Copyright (c) 2000-2003,2006 Silicon Graphics, Inc.  All Rights Reserved.
4 #
5 # setup and check for config parameters, and in particular
6 #
7 # TEST_DIR -        scratch test directory that is in an already
8 #                   mounted XFS file system, needs to be be world
9 #                   writeable
10 # TEST_DEV -        device for file system containing TEST_DIR
11 # SCRATCH_DEV -     device you can make a scratch file system on
12 # SCRATCH_MNT -     mount point for scratch file system
13 #
14 # and optionally:
15 # SCRATCH_LOGDEV -  scratch log device for external log testing
16 # SCRATCH_RTDEV -   scratch rt dev
17 # TEST_LOGDEV -     test log device for external log testing
18 # TEST_RTDEV -      test rt dev
19 # TAPE_DEV -        the tape device for the xfsdump tests
20 # RMT_TAPE_DEV -    the remote tape device for the xfsdump tests
21 # RMT_IRIXTAPE_DEV- the IRIX remote tape device for the xfsdump tests
22 # RMT_TAPE_USER -   remote user for tape device
23 #
24 # - These can be added to known_hosts() below or a separate local
25 #   configuration file can be used (using the HOST_OPTIONS variable).
26 # - This script is shared by the stress test system and the auto-qa
27 #   system (includes both regression test and benchmark components).
28 # - TEST_DEV & TEST_DIR must be assigned.
29 # - this script shouldn't make any assertions about filesystem
30 #   validity or mountedness.
31 #
32
33 # Warning: don't put freeware before /usr/bsd on IRIX coz you'll
34 #  get the wrong hostname and set your system name to -s  :)
35 [ -d /usr/bsd ] && PATH=$PATH:/usr/bsd
36 [ -d /usr/freeware/bin ] && PATH=$PATH:/usr/freeware/bin
37 PATH=".:$PATH"
38
39 HOST=`hostname -s`
40 HOSTOS=`uname -s`
41 [ "$HOSTOS" = "IRIX64" ] && HOSTOS="IRIX"
42
43 MODULAR=0               # using XFS as a module or not
44 BOOT="/boot"            # install target for kernels
45 export EXTRA=${EXTRA:=xfs-qa}
46
47 # general parameters (mainly for auto-qa)
48 SOAK_PROC=3             # -p option to fsstress
49 SOAK_STRESS=10000       # -n option to fsstress
50 SOAK_PASSES=-1          # count of repetitions of fsstress (while soaking)
51 EMAIL=root@localhost    # where auto-qa will send its status messages
52 export HOST_OPTIONS=${HOST_OPTIONS:=local.config}
53 export CHECK_OPTIONS=${CHECK_OPTIONS:="-g auto"}
54 export BENCH_PASSES=${BENCH_PASSES:=5}
55 export XFS_MKFS_OPTIONS=${XFS_MKFS_OPTIONS:=-bsize=4096}
56
57 export PWD=`pwd`
58 #export DEBUG=${DEBUG:=...} # arbitrary CFLAGS really.
59 export MALLOCLIB=${MALLOCLIB:=/usr/lib/libefence.a}
60 export LOCAL_CONFIGURE_OPTIONS=${LOCAL_CONFIGURE_OPTIONS:=--enable-readline=yes}
61
62 # $1 = prog to look for, $2* = default pathnames if not found in $PATH
63 set_prog_path()
64 {
65     p=`which $1 2> /dev/null`
66     if [ -n "$p" -a -x "$p" ]; then
67         echo $p
68         return 0
69     fi
70     p=$1
71     
72     shift
73     for f; do
74         if [ -x $f ]; then
75             echo $f
76             return 0
77         fi
78     done
79     
80     echo ""
81     return 1
82 }
83
84 _fatal()
85 {
86     echo "$*"
87     status=1
88     exit 1
89 }
90
91 export MKFS_PROG="`set_prog_path mkfs`"
92 [ "$MKFS_PROG" = "" ] && _fatal "mkfs not found"
93
94 export MOUNT_PROG="`set_prog_path mount`"
95 [ "$MOUNT_PROG" = "" ] && _fatal "mount not found"
96
97 export UMOUNT_PROG="`set_prog_path umount`"
98 [ "$UMOUNT_PROG" = "" ] && _fatal "umount not found"
99
100 export FSSTRESS_PROG="`set_prog_path fsstress $PWD/ltp/fsstress`"
101 [ "$FSSTRESS_PROG" = "" ] && _fatal "fsstress not found"
102
103 export NSLOOKUP_PROG="`set_prog_path nslookup`"
104 [ "$NSLOOKUP_PROG" = "" ] && _fatal "nslookup not found"
105
106 export PERL_PROG="`set_prog_path perl`"
107 [ "$PERL_PROG" = "" ] && _fatal "perl not found"
108
109 export AWK_PROG="`set_prog_path awk`"
110 [ "$AWK_PROG" = "" ] && _fatal "awk not found"
111
112 export SED_PROG="`set_prog_path sed`"
113 [ "$SED_PROG" = "" ] && _fatal "sed not found"
114
115 export PS_ALL_FLAGS="-ef"
116
117 export DF_PROG="`set_prog_path df`"
118 [ "$DF_PROG" = "" ] && _fatal "df not found"
119 [ "$HOSTOS" = "Linux" ] && export DF_PROG="$DF_PROG -T"
120
121 export XFS_LOGPRINT_PROG="`set_prog_path xfs_logprint`"
122 export XFS_REPAIR_PROG="`set_prog_path xfs_repair`"
123 export XFS_CHECK_PROG="`set_prog_path xfs_check`"
124 export XFS_DB_PROG="`set_prog_path xfs_db`"
125 export XFS_GROWFS_PROG=`set_prog_path xfs_growfs`
126 export XFS_IO_PROG="`set_prog_path xfs_io`"
127 export XFS_PARALLEL_REPAIR_PROG="`set_prog_path xfs_prepair`"
128 export XFS_PARALLEL_REPAIR64_PROG="`set_prog_path xfs_prepair64`"
129
130 case "$HOSTOS" in
131     IRIX*)
132         export MKFS_XFS_PROG="`set_prog_path mkfs_xfs`"
133         export MKFS_UDF_PROG="`set_prog_path mkfs_udf`"
134         export XFS_FSR_PROG="`set_prog_path /usr/etc/fsr_xfs`"
135         export MKFS_NFS_PROG="false"
136         ;;
137     Linux)
138         export MKFS_XFS_PROG="`set_prog_path mkfs.xfs`"
139         export MKFS_UDF_PROG="`set_prog_path mkudffs`"
140         export XFS_FSR_PROG="`set_prog_path xfs_fsr`"
141         export MKFS_NFS_PROG="false"
142         ;;
143 esac
144
145 known_hosts()
146 {
147     case "$HOST" in
148         vimes)
149             # dedicated qa machine, used to be sheila
150             [ -z "$MODULAR" ] && MODULAR=1
151             EMAIL="ddiss@sgi.com"
152             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
153             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/hdb1
154             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/hdb3
155             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
156             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/hdb2
157             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/hdb4
158             [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb5
159             ;;
160         break)
161             MODULAR=1
162             EMAIL="nathans@larry"
163             SCRATCH_MNT=/mnt/scratch
164             #SCRATCH_DEV=/dev/sda6
165             SCRATCH_DEV=budgie:/mnt/scratch
166             TEST_DIR=/mnt/test
167             #TEST_DEV=/dev/sda5
168             TEST_DEV=budgie:/mnt/test
169             ;;
170         bruce)
171             MODULAR=0
172             EMAIL="nathans@larry"
173             SCRATCH_MNT=/mnt/scratch
174             SCRATCH_DEV=/dev/sdb5
175             SCRATCH_RTDEV=/dev/sdc1
176             SCRATCH_LOGDEV=/dev/ram0
177             TEST_DIR=/mnt/test
178             TEST_DEV=/dev/sdc3
179             TEST_RTDEV=/dev/sdb6
180             TEST_LOGDEV=/dev/ram1
181             #TAPE_DEV=/dev/st0
182             #RMT_TAPE_DEV=bruce:/dev/st0
183             #RMT_IRIXTAPE_DEV=snort:/dev/tape
184             #RMT_TAPE_USER=guest
185             ;;
186         frodo)
187             MODULAR=0
188             EMAIL="nathans@larry"
189             TEST_DEV=/dev/hda6
190             TEST_DIR=/mnt/test
191             SCRATCH_DEV=/dev/hda7
192             SCRATCH_MNT=/mnt/scratch
193             SCRATCH_LOGDEV=/dev/hda9
194             ;;
195         goldfish)
196             MODULAR=0
197             TEST_DEV=/dev/hdc1
198             TEST_DIR=/mnt/xfs0
199             SCRATCH_DEV=/dev/hdc2
200             SCRATCH_MNT=/mnt/xfs1
201             SCRATCH_LOGDEV=/dev/hdc3
202             ;;
203         burst)
204             TEST_DIR=/xfs
205             TEST_DEV=/dev/hda3
206             SCRATCH_DEV=/dev/hda7
207             SCRATCH_MNT=/scratch
208             ;;
209         lumpy)
210             TEST_DEV=/dev/sdc5
211             TEST_DIR=/mnt/scratch_0
212             SCRATCH_DEV=/dev/sdc7
213             SCRATCH_MNT=/mnt/scratch_2
214             ;;
215         bongo)
216             TEST_DEV=/dev/hda8
217             TEST_DIR=/xfs1
218             SCRATCH_DEV=/dev/hda9
219             SCRATCH_MNT=/xfs2
220             SCRATCH_LOGDEV=/dev/hda10
221             SCRATCH_RTDEV=/dev/hda11
222             ;;
223         surly)
224             TEST_DEV=/dev/hda9
225             TEST_DIR=/mnt/xfs1
226             SCRATCH_DEV=/dev/hda8
227             SCRATCH_MNT=/mnt/xfs0
228             SCRATCH_LOGDEV=/dev/hda10
229             TAPE_DEV=/dev/st0
230             RMT_TAPE_DEV=fuzzy:/dev/st0
231             RMT_IRIXTAPE_DEV=blub:/dev/tape
232             RMT_TAPE_USER=guest
233             ;;
234         permit)
235             TEST_DEV=/dev/sdc1
236             TEST_DIR=/mnt/xfs0
237             SCRATCH_DEV=/dev/sdd1
238             SCRATCH_MNT=/mnt/xfs1
239             ;;
240         indra)
241             TEST_DEV=/dev/sdb1
242             TEST_DIR=/mnt/xfs0
243             SCRATCH_DEV=/dev/sdb2
244             SCRATCH_MNT=/mnt/xfs1
245             ;;
246         usermode)
247             TEST_DEV=/dev/ubd/1
248             TEST_DIR=/mnt/test
249             SCRATCH_DEV=/dev/ubd/2
250             SCRATCH_MNT=/mnt/scratch
251             SCRATCH_RTDEV=/dev/ubd/3
252             SCRATCH_LOGDEV=/dev/ubd/4
253             ;;
254         lite)
255             TEST_DEV=/dev/sda1
256             TEST_DIR=/mnt/sda1
257             SCRATCH_DEV=/dev/sda2
258             SCRATCH_MNT=/mnt/sda2
259             SCRATCH_LOGDEV=/dev/sda3
260             SCRATCH_RTDEV=/dev/sda4
261             ;;
262         dmfnt2)
263             TEST_DEV=/dev/sda6
264             TEST_DIR=/mnt/test
265             SCRATCH_DEV=/dev/sdc6
266             SCRATCH_MNT=/mnt/scratch
267             TAPE_DEV=/dev/st0
268             RMT_TAPE_DEV=longhorn:/dev/tape
269             # RMT_IRIXTAPE_DEV=longhorn:/dev/tape
270             RMT_TAPE_USER=guest
271             ;;
272         lab343)
273             MODULAR=0
274             EMAIL="hch@sgi.com"
275             TEST_DEV=/dev/sdb1
276             SCRATCH_DEV=/dev/sdb2
277             SCRATCH_LOGDEV=/dev/sdb5
278             SCRATCH_RTDEV=/dev/sdb6
279             TEST_DIR=/qa/test
280             SCRATCH_MNT=/qa/scratch
281             ;;
282         dribble)
283             #dedicated qa machine
284             MODULAR=0
285             EMAIL="ddiss@sgi.com"
286             TEST_DIR=/mnt/test
287             TEST_DEV=/dev/dsk/dks0d2s0
288             SCRATCH_MNT=/mnt/scratch
289             SCRATCH_DEV=/dev/dsk/dks0d2s6
290             #TAPE_DEV=/dev/tape
291             #RMT_TAPE_DEV=icy:/dev/st0
292             #RMT_TAPE_USER=guest
293             ;;
294         carrot)
295             #dedicated qa machine, used to be dribble
296             MODULAR=0
297             EMAIL="ddiss@sgi.com"
298             TEST_DIR=/mnt/test
299             TEST_DEV=/dev/dsk/dks0d2s0
300             SCRATCH_MNT=/mnt/scratch
301             SCRATCH_DEV=/dev/dsk/dks0d2s6
302             #TAPE_DEV=/dev/tape
303             #RMT_TAPE_DEV=icy:/dev/st0
304             #RMT_TAPE_USER=guest
305             ;;
306         giro)
307             MODULAR=0
308             EMAIL="ddiss@sgi.com"
309             TEST_DIR=/mnt/test
310             TEST_DEV=/dev/dsk/dks0d2s0
311             SCRATCH_MNT=/mnt/scratch
312             SCRATCH_DEV=/dev/dsk/dks0d2s6
313             #TAPE_DEV=/dev/tape
314             #RMT_TAPE_DEV=icy:/dev/st0
315             #RMT_TAPE_USER=guest
316             ;;
317         cxfsirix1)
318             EMAIL="ajones@sgi.com"
319             TEST_DIR=/mnt/xfs_test0
320             TEST_DEV=/dev/cxvm/xfs_test0
321             SCRATCH_MNT=/mnt/xfs_test1
322             SCRATCH_DEV=/dev/cxvm/xfs_test1
323             ;;
324         hammer)
325             EMAIL="bnaujok@sgi.com"
326             TEST_DIR=/mnt/test
327             TEST_DEV=/dev/sda5
328             SCRATCH_MNT=/mnt/scratch
329             SCRATCH_DEV=/dev/sda6
330             ;;
331         emu)
332             MODULAR=0
333             EMAIL="vapo@sgi.com"
334             TEST_DIR=/mnt/test
335             TEST_DEV=/dev/sdb1
336             SCRATCH_MNT=/mnt/scratch1
337             SCRATCH_DEV=/dev/sdb2
338             ;;
339         scaly)
340             EMAIL="bnaujok@sgi.com"
341             TEST_DIR=/mnt/test
342             TEST_DEV=/dev/sdd3
343             #TEST_LOGDEV=/dev/sdd1
344             SCRATCH_MNT=/mnt/scratch
345             SCRATCH_DEV=/dev/sdd4
346             #SCRATCH_LOGDEV=/dev/sdd2
347             ;;
348         gonzo1)
349             EMAIL="leenap@sgi.com"
350             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/xfs_test
351             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/lxvm/xfs_test
352             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb1
353             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/xfs_scratch
354             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/lxvm/xfs_scratch
355             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb2
356             [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb3
357             ;;
358         kermit1)
359             EMAIL="mohamedb@sgi.com"
360             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/xfs_test
361             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/lxvm/xfs_test
362             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb1
363             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/xfs_scratch
364             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/lxvm/xfs_scratch
365             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb2
366             [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb3
367             ;;
368         rizzo1)
369             EMAIL="mohamedb@sgi.com"
370             TEST_DIR=/mnt/xfs_test
371             TEST_DEV=/dev/lxvm/xfs_test
372             SCRATCH_MNT=/mnt/xfs_scratch
373             SCRATCH_DEV=/dev/lxvm/xfs_scratch
374             ;;
375         gaspode)
376             #dedicated qa machine (has some values already set)
377             [ -z "$MODULAR" ] && MODULAR=1
378             EMAIL="ddiss@sgi.com"
379             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
380             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
381             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
382             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
383             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
384             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
385             [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb5
386             [ -z "$TAPE_DEV" ] && TAPE_DEV=/dev/st0
387             ;;
388         134.14.54.101)
389             #The IP for file system resource on HA cluster.
390             EMAIL="leenap@sgi.com"
391             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
392             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/lxvm/test
393             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
394             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/lxvm/scratch
395             ;;
396         hellfire)
397             MODULAR=1
398             EMAIL="ajones@sgi.com"
399             TEST_DIR=/mnt/test
400             TEST_DEV=/dev/sda3
401             TEST_LOGDEV=/dev/sda5
402             SCRATCH_MNT=/mnt/scratch
403             SCRATCH_DEV=/dev/sda4
404             SCRATCH_LOGDEV=/dev/sda6
405             #SCRATCH_RTDEV=/dev/sda7
406             TAPE_DEV=/dev/st0
407             #RMT_IRIXTAPE_DEV=snort:/dev/tape
408             #RMT_TAPE_DEV=icy:/dev/st0
409             #RMT_TAPE_USER=guest
410             ;;
411         rooster)
412             MODULAR=1
413             EMAIL="ajones@sgi.com"
414             TEST_DIR=/mnt/test
415             TEST_DEV=/dev/sdb1
416             SCRATCH_MNT=/mnt/scratch
417             SCRATCH_DEV=/dev/sdb2
418             TAPE_DEV=/dev/st0
419             #RMT_IRIXTAPE_DEV=snort:/dev/tape
420             #RMT_TAPE_DEV=icy:/dev/st0
421             #RMT_TAPE_USER=guest
422             ;;
423         rosella)
424             MODULAR=1
425             EMAIL="ajones@sgi.com"
426             TEST_DIR=/mnt/test
427             TEST_DEV=/dev/sdb1
428             SCRATCH_MNT=/mnt/scratch
429             SCRATCH_DEV=/dev/sdb3
430             TAPE_DEV=/dev/st0
431             #RMT_IRIXTAPE_DEV=snort:/dev/tape
432             #RMT_TAPE_DEV=icy:/dev/st0
433             #RMT_TAPE_USER=guest
434             ;;
435         crackle)
436             #irix-crackle
437             TEST_DIR=/mnt/xfs
438             SCRATCH_MNT=/mnt/xfs2
439             TEST_DEV=/dev/dsk/dks0d1s3
440             SCRATCH_DEV=/dev/dsk/dks0d1s4
441             ;;
442         tinkle)
443             #irix-patchbox-tinkle
444             TEST_DEV=/dev/dsk/dks0d2s0
445             TEST_DIR=/mnt/xfs_test
446             SCRATCH_DEV=/dev/dsk/dks0d2s1
447             SCRATCH_MNT=/mnt/xfs_scratch
448             ;;
449         cocky)
450             MODULAR=1
451             EMAIL="ajones@sgi.com"
452             TEST_DIR=/mnt/test
453             TEST_DEV=/dev/sdb1
454             TEST_LOGDEV=/dev/sdb3
455             SCRATCH_MNT=/mnt/scratch
456             SCRATCH_DEV=/dev/sdb2
457             SCRATCH_LOGDEV=/dev/sdb4
458             #SCRATCH_RTDEV=/dev/sdb5
459             TAPE_DEV=/dev/st0
460             #RMT_IRIXTAPE_DEV=snort:/dev/tape
461             #RMT_TAPE_DEV=icy:/dev/st0
462             #RMT_TAPE_USER=guest
463             ;;
464         nobbs)
465             #dedicated qa machine, used to be porky
466             [ -z "$MODULAR" ] && MODULAR=1
467             EMAIL="ddiss@sgi.com"
468             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
469             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
470             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
471             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
472             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
473             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
474             #[ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb7
475             #[ -z "$TAPE_DEV" ] && TAPE_DEV=/dev/st0
476             ;;
477         puffy)
478             MODULAR=1
479             EMAIL="tes@sgi.com"
480             TEST_DIR=/mnt/test
481             TEST_DEV=/dev/sda7
482             SCRATCH_MNT=/mnt/scratch
483             SCRATCH_DEV=/dev/sda8
484             TAPE_DEV=/dev/st0
485             ;;
486         galah)
487             MODULAR=1
488             EMAIL="ddiss@sgi.com"
489             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
490             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
491             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
492             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
493             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
494             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
495             ;;
496         screamer)
497             #dedicated qa machine (has some values already set)
498             [ -z "$MODULAR" ] && MODULAR=1
499             EMAIL="ddiss@sgi.com"
500             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
501             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
502             #[ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
503             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
504             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
505             #[ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
506             #[ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb5
507             ;;
508         linux-chatz)
509             #vmware on pc-chatz
510             MODULAR=1
511             EMAIL="chatz@sgi.com"
512             USE_EXTERNAL=yes
513             TEST_DIR="/mnt/data"
514             TEST_DEV=/dev/sdd
515             TEST_LOGDEV=/dev/sdb
516             SCRATCH_MNT=/mnt/scratch
517             SCRATCH_DEV=/dev/sdg
518             SCRATCH_LOGDEV=/mnt/sde
519             ;;
520         chapter11)
521             [ -z "$MODULAR" ] && MODULAR=1
522             EMAIL="ddiss@sgi.com"
523             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
524             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb5
525             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb7
526             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
527             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb6
528             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb8
529             [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb9
530             ;;
531         dassi)
532             MODULAR=0
533             EMAIL="ddiss@sgi.com"
534             TEST_DIR=/mnt/test
535             TEST_DEV=/dev/dsk/dks0d2s0
536             SCRATCH_MNT=/mnt/scratch
537             SCRATCH_DEV=/dev/dsk/dks0d2s1
538             ;;
539         molten)
540             [ -z "$MODULAR" ] && MODULAR=1
541             EMAIL="ddiss@sgi.com"
542             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
543             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb5
544             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
545             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb6
546             ;;
547         howler)
548             [ -z "$MODULAR" ] && MODULAR=1
549             EMAIL="allanr@sgi.com"
550             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
551             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
552             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
553             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
554             ;;
555         flame)
556             #dedicated qa machine (has some values already set)
557             [ -z "$MODULAR" ] && MODULAR=1
558             EMAIL="ddiss@sgi.com"
559             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/xfs_test
560             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/lxvm/xfs_test
561             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/xfs_scratch
562             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/lxvm/xfs_scratch
563             ;;
564         growler)
565             [ -z "$MODULAR" ] && MODULAR=1
566             EMAIL="ddiss@sgi.com"
567             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
568             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
569             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
570             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
571             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
572             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
573             ;;
574         melt)
575             MODULAR=1
576             TEST_DIR=/mnt/test
577             TEST_DEV=/dev/sdb1
578             SCRATCH_MNT=/mnt/scratch
579             SCRATCH_DEV=/dev/sdb2
580             ;;
581         mallet)
582             MODULAR=1
583             TEST_DIR=/mnt/test
584             TEST_DEV=/dev/sda3
585             SCRATCH_MNT=/mnt/scratch
586             SCRATCH_DEV=/dev/sda4
587             ;;
588         *)
589             echo "Error: need to define parameters for host $HOST"
590             exit 1
591             ;;
592     esac
593 }
594
595 if [ -f "$HOST_OPTIONS" ]; then
596     . "$HOST_OPTIONS"
597 else
598     known_hosts
599 fi
600
601 echo $TEST_DEV | grep -q ":" > /dev/null 2>&1
602 if [ ! -b "$TEST_DEV" -a "$?" != "0" ]; then
603     echo "common.config: Error: \$TEST_DEV ($TEST_DEV) is not a block device or a NFS filesystem"
604     exit 1
605 fi
606
607 if [ ! -d "$TEST_DIR" ]; then
608     echo "common.config: Error: \$TEST_DIR ($TEST_DIR) is not a directory"
609     exit 1
610 fi
611
612 echo $SCRATCH_DEV | grep -q ":" > /dev/null 2>&1
613 if [ ! -z "$SCRATCH_DEV" -a ! -b "$SCRATCH_DEV" -a "$?" != "0" ]; then
614     echo "common.config: Error: \$SCRATCH_DEV ($SCRATCH_DEV) is not a block device or a NFS filesystem"
615     exit 1
616 fi
617
618 if [ ! -z "$SCRATCH_MNT" -a ! -d "$SCRATCH_MNT" ]; then
619     echo "common.config: Error: \$SCRATCH_MNT ($SCRATCH_MNT) is not a directory"
620     exit 1
621 fi
622
623 _readlink()
624 {
625     if [ $# -ne 1 ]; then
626         echo "Usage: _readlink filename" 1>&2
627         exit 1
628     fi
629     
630     perl -e "\$in=\"$1\";" -e '
631     $lnk = readlink($in);
632     if ($lnk =~ m!^/.*!) {
633         print "$lnk\n";
634     }
635     else {
636         chomp($dir = `dirname $in`);
637         print "$dir/$lnk\n";
638     }'
639 }
640
641 # if devfs is running expand the full /dev/.. pathname - this is what will be
642 # returned by utilities such as mount
643 [ -L "$TEST_DEV" ] && TEST_DEV=`_readlink $TEST_DEV`
644 [ -L "$SCRATCH_DEV" ] && SCRATCH_DEV=`_readlink $SCRATCH_DEV`
645 [ -L "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=`_readlink $SCRATCH_LOGDEV`
646 [ -L "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=`_readlink $SCRATCH_LOGDEV`
647
648 # make sure this script returns success
649 /bin/true