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