changes gonzo1 variables
[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/scratch
354             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/lxvm/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_data
371             TEST_DEV=/dev/lxvm/xfs_data
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         hellfire)
389             MODULAR=1
390             EMAIL="ajones@sgi.com"
391             TEST_DIR=/mnt/test
392             TEST_DEV=/dev/sda3
393             TEST_LOGDEV=/dev/sda5
394             SCRATCH_MNT=/mnt/scratch
395             SCRATCH_DEV=/dev/sda4
396             SCRATCH_LOGDEV=/dev/sda6
397             #SCRATCH_RTDEV=/dev/sda7
398             TAPE_DEV=/dev/st0
399             #RMT_IRIXTAPE_DEV=snort:/dev/tape
400             #RMT_TAPE_DEV=icy:/dev/st0
401             #RMT_TAPE_USER=guest
402             ;;
403         rooster)
404             MODULAR=1
405             EMAIL="ajones@sgi.com"
406             TEST_DIR=/mnt/test
407             TEST_DEV=/dev/sdb1
408             SCRATCH_MNT=/mnt/scratch
409             SCRATCH_DEV=/dev/sdb2
410             TAPE_DEV=/dev/st0
411             #RMT_IRIXTAPE_DEV=snort:/dev/tape
412             #RMT_TAPE_DEV=icy:/dev/st0
413             #RMT_TAPE_USER=guest
414             ;;
415         rosella)
416             MODULAR=1
417             EMAIL="ajones@sgi.com"
418             TEST_DIR=/mnt/test
419             TEST_DEV=/dev/sdb1
420             SCRATCH_MNT=/mnt/scratch
421             SCRATCH_DEV=/dev/sdb3
422             TAPE_DEV=/dev/st0
423             #RMT_IRIXTAPE_DEV=snort:/dev/tape
424             #RMT_TAPE_DEV=icy:/dev/st0
425             #RMT_TAPE_USER=guest
426             ;;
427         crackle)
428             #irix-crackle
429             TEST_DIR=/mnt/xfs
430             SCRATCH_MNT=/mnt/xfs2
431             TEST_DEV=/dev/dsk/dks0d1s3
432             SCRATCH_DEV=/dev/dsk/dks0d1s4
433             ;;
434         tinkle)
435             #irix-patchbox-tinkle
436             TEST_DEV=/dev/dsk/dks0d2s0
437             TEST_DIR=/mnt/xfs_test
438             SCRATCH_DEV=/dev/dsk/dks0d2s1
439             SCRATCH_MNT=/mnt/xfs_scratch
440             ;;
441         cocky)
442             MODULAR=1
443             EMAIL="ajones@sgi.com"
444             TEST_DIR=/mnt/test
445             TEST_DEV=/dev/sdb1
446             TEST_LOGDEV=/dev/sdb3
447             SCRATCH_MNT=/mnt/scratch
448             SCRATCH_DEV=/dev/sdb2
449             SCRATCH_LOGDEV=/dev/sdb4
450             #SCRATCH_RTDEV=/dev/sdb5
451             TAPE_DEV=/dev/st0
452             #RMT_IRIXTAPE_DEV=snort:/dev/tape
453             #RMT_TAPE_DEV=icy:/dev/st0
454             #RMT_TAPE_USER=guest
455             ;;
456         nobbs)
457             #dedicated qa machine, used to be porky
458             [ -z "$MODULAR" ] && MODULAR=1
459             EMAIL="ddiss@sgi.com"
460             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
461             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
462             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
463             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
464             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
465             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
466             #[ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb7
467             #[ -z "$TAPE_DEV" ] && TAPE_DEV=/dev/st0
468             ;;
469         puffy)
470             MODULAR=1
471             EMAIL="tes@sgi.com"
472             TEST_DIR=/mnt/test
473             TEST_DEV=/dev/sda7
474             SCRATCH_MNT=/mnt/scratch
475             SCRATCH_DEV=/dev/sda8
476             TAPE_DEV=/dev/st0
477             ;;
478         galah)
479             MODULAR=1
480             EMAIL="ddiss@sgi.com"
481             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
482             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
483             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
484             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
485             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
486             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
487             ;;
488         screamer)
489             #dedicated qa machine (has some values already set)
490             [ -z "$MODULAR" ] && MODULAR=1
491             EMAIL="ddiss@sgi.com"
492             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
493             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
494             #[ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
495             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
496             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
497             #[ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
498             #[ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb5
499             ;;
500         linux-chatz)
501             #vmware on pc-chatz
502             MODULAR=1
503             EMAIL="chatz@sgi.com"
504             USE_EXTERNAL=yes
505             TEST_DIR="/mnt/data"
506             TEST_DEV=/dev/sdd
507             TEST_LOGDEV=/dev/sdb
508             SCRATCH_MNT=/mnt/scratch
509             SCRATCH_DEV=/dev/sdg
510             SCRATCH_LOGDEV=/mnt/sde
511             ;;
512         chapter11)
513             [ -z "$MODULAR" ] && MODULAR=1
514             EMAIL="ddiss@sgi.com"
515             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
516             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb5
517             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb7
518             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
519             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb6
520             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb8
521             [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb9
522             ;;
523         dassi)
524             MODULAR=0
525             EMAIL="ddiss@sgi.com"
526             TEST_DIR=/mnt/test
527             TEST_DEV=/dev/dsk/dks0d2s0
528             SCRATCH_MNT=/mnt/scratch
529             SCRATCH_DEV=/dev/dsk/dks0d2s1
530             ;;
531         molten)
532             [ -z "$MODULAR" ] && MODULAR=1
533             EMAIL="ddiss@sgi.com"
534             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
535             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb5
536             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
537             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb6
538             ;;
539         howler)
540             [ -z "$MODULAR" ] && MODULAR=1
541             EMAIL="allanr@sgi.com"
542             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
543             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
544             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
545             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
546             ;;
547         flame)
548             #dedicated qa machine (has some values already set)
549             [ -z "$MODULAR" ] && MODULAR=1
550             EMAIL="ddiss@sgi.com"
551             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/xfs_test
552             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/lxvm/xfs_test
553             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/xfs_scratch
554             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/lxvm/xfs_scratch
555             ;;
556         growler)
557             [ -z "$MODULAR" ] && MODULAR=1
558             EMAIL="ddiss@sgi.com"
559             [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
560             [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
561             [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
562             [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
563             [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
564             [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
565             ;;
566         melt)
567             MODULAR=1
568             TEST_DIR=/mnt/test
569             TEST_DEV=/dev/sdb1
570             SCRATCH_MNT=/mnt/scratch
571             SCRATCH_DEV=/dev/sdb2
572             ;;
573         *)
574             echo "Error: need to define parameters for host $HOST"
575             exit 1
576             ;;
577     esac
578 }
579
580 if [ -f "$HOST_OPTIONS" ]; then
581     . "$HOST_OPTIONS"
582 else
583     known_hosts
584 fi
585
586 echo $TEST_DEV | grep -q ":" > /dev/null 2>&1
587 if [ ! -b "$TEST_DEV" -a "$?" != "0" ]; then
588     echo "common.config: Error: \$TEST_DEV ($TEST_DEV) is not a block device or a NFS filesystem"
589     exit 1
590 fi
591
592 if [ ! -d "$TEST_DIR" ]; then
593     echo "common.config: Error: \$TEST_DIR ($TEST_DIR) is not a directory"
594     exit 1
595 fi
596
597 echo $SCRATCH_DEV | grep -q ":" > /dev/null 2>&1
598 if [ ! -z "$SCRATCH_DEV" -a ! -b "$SCRATCH_DEV" -a "$?" != "0" ]; then
599     echo "common.config: Error: \$SCRATCH_DEV ($SCRATCH_DEV) is not a block device or a NFS filesystem"
600     exit 1
601 fi
602
603 if [ ! -z "$SCRATCH_MNT" -a ! -d "$SCRATCH_MNT" ]; then
604     echo "common.config: Error: \$SCRATCH_MNT ($SCRATCH_MNT) is not a directory"
605     exit 1
606 fi
607
608 _readlink()
609 {
610     if [ $# -ne 1 ]; then
611         echo "Usage: _readlink filename" 1>&2
612         exit 1
613     fi
614     
615     perl -e "\$in=\"$1\";" -e '
616     $lnk = readlink($in);
617     if ($lnk =~ m!^/.*!) {
618         print "$lnk\n";
619     }
620     else {
621         chomp($dir = `dirname $in`);
622         print "$dir/$lnk\n";
623     }'
624 }
625
626 # if devfs is running expand the full /dev/.. pathname - this is what will be
627 # returned by utilities such as mount
628 [ -L "$TEST_DEV" ] && TEST_DEV=`_readlink $TEST_DEV`
629 [ -L "$SCRATCH_DEV" ] && SCRATCH_DEV=`_readlink $SCRATCH_DEV`
630 [ -L "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=`_readlink $SCRATCH_LOGDEV`
631 [ -L "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=`_readlink $SCRATCH_LOGDEV`
632
633 # make sure this script returns success
634 /bin/true