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