-
[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" ]
67     then
68         echo $p
69         return 0
70     fi
71     p=$1
72
73     shift
74     for f
75     do
76         if [ -x $f ]
77         then
78             echo $f
79             return 0
80         fi
81     done
82
83     echo ""
84     return 1
85 }
86
87 _fatal()
88 {
89     echo "$*"
90     status=1
91     exit 1
92 }
93
94 export MKFS_PROG="`set_prog_path mkfs`"
95 [ "$MKFS_PROG" = "" ] && _fatal "mkfs not found"
96
97 export MOUNT_PROG="`set_prog_path mount`"
98 [ "$MOUNT_PROG" = "" ] && _fatal "mount not found"
99
100 export UMOUNT_PROG="`set_prog_path umount`"
101 [ "$UMOUNT_PROG" = "" ] && _fatal "umount not found"
102
103 export FSSTRESS_PROG="`set_prog_path fsstress $PWD/ltp/fsstress`"
104 [ "$FSSTRESS_PROG" = "" ] && _fatal "fsstress not found"
105
106 export NSLOOKUP_PROG="`set_prog_path nslookup`"
107 [ "$NSLOOKUP_PROG" = "" ] && _fatal "nslookup not found"
108
109 export PERL_PROG="`set_prog_path perl`"
110 [ "$PERL_PROG" = "" ] && _fatal "perl not found"
111
112 export AWK_PROG="`set_prog_path awk`"
113 [ "$AWK_PROG" = "" ] && _fatal "awk not found"
114
115 export SED_PROG="`set_prog_path sed`"
116 [ "$SED_PROG" = "" ] && _fatal "sed not found"
117
118 export PS_ALL_FLAGS="-ef"
119
120 export DF_PROG="`set_prog_path df`"
121 [ "$DF_PROG" = "" ] && _fatal "df not found"
122 [ "$HOSTOS" = "Linux" ] && export DF_PROG="$DF_PROG -T"
123
124 export XFS_LOGPRINT_PROG="`set_prog_path xfs_logprint`"
125 export XFS_REPAIR_PROG="`set_prog_path xfs_repair`"
126 export XFS_CHECK_PROG="`set_prog_path xfs_check`"
127 export XFS_DB_PROG="`set_prog_path xfs_db`"
128 export XFS_GROWFS_PROG=`set_prog_path xfs_growfs`
129 export XFS_IO_PROG="`set_prog_path xfs_io`"
130 export XFS_PARALLEL_REPAIR_PROG="`set_prog_path xfs_prepair`"
131 export XFS_PARALLEL_REPAIR64_PROG="`set_prog_path xfs_prepair64`"
132
133 case "$HOSTOS" in
134     IRIX*)
135            export MKFS_XFS_PROG="`set_prog_path mkfs_xfs`"
136            export MKFS_UDF_PROG="`set_prog_path mkfs_udf`"
137            export XFS_FSR_PROG="`set_prog_path /usr/etc/fsr_xfs`"
138            export MKFS_NFS_PROG="false"
139            ;;
140     Linux)
141            export MKFS_XFS_PROG="`set_prog_path mkfs.xfs`"
142            export MKFS_UDF_PROG="`set_prog_path mkudffs`"
143            export XFS_FSR_PROG="`set_prog_path xfs_fsr`"
144            export MKFS_NFS_PROG="false"
145            ;;
146 esac
147
148 known_hosts()
149 {
150         case "$HOST"
151         in
152             sheila)
153                 #dedicated qa machine (has some values already set)
154                 [ -z "$MODULAR" ] && MODULAR=1
155                 EMAIL="ddiss@sgi.com"
156                 [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
157                 [ -z "$TEST_DEV" ] && TEST_DEV=/dev/hdb1
158                 [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/hdb3
159                 [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
160                 [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/hdb2
161                 [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/hdb4
162                 [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb5
163                 ;;
164             break)
165                 MODULAR=1
166                 EMAIL="nathans@larry"
167                 SCRATCH_MNT=/mnt/scratch
168                 #SCRATCH_DEV=/dev/sda6
169                 SCRATCH_DEV=budgie:/mnt/scratch
170                 TEST_DIR=/mnt/test
171                 #TEST_DEV=/dev/sda5
172                 TEST_DEV=budgie:/mnt/test
173                 ;;
174             bruce)
175                 MODULAR=0
176                 EMAIL="nathans@larry"
177                 SCRATCH_MNT=/mnt/scratch
178                 SCRATCH_DEV=/dev/sdb5
179                 SCRATCH_RTDEV=/dev/sdc1
180                 SCRATCH_LOGDEV=/dev/ram0
181                 TEST_DIR=/mnt/test
182                 TEST_DEV=/dev/sdc3
183                 TEST_RTDEV=/dev/sdb6
184                 TEST_LOGDEV=/dev/ram1
185                 #TAPE_DEV=/dev/st0
186                 #RMT_TAPE_DEV=bruce:/dev/st0
187                 #RMT_IRIXTAPE_DEV=snort:/dev/tape
188                 #RMT_TAPE_USER=guest
189                 ;;
190             frodo)
191                 MODULAR=0
192                 EMAIL="nathans@larry"
193                 TEST_DEV=/dev/hda6
194                 TEST_DIR=/mnt/test
195                 SCRATCH_DEV=/dev/hda7
196                 SCRATCH_MNT=/mnt/scratch
197                 SCRATCH_LOGDEV=/dev/hda9
198                 ;;
199             goldfish)
200                 MODULAR=0
201                 TEST_DEV=/dev/hdc1
202                 TEST_DIR=/mnt/xfs0
203                 SCRATCH_DEV=/dev/hdc2
204                 SCRATCH_MNT=/mnt/xfs1
205                 SCRATCH_LOGDEV=/dev/hdc3
206                 ;;
207             burst)
208                 TEST_DIR=/xfs
209                 TEST_DEV=/dev/hda3
210                 SCRATCH_DEV=/dev/hda7
211                 SCRATCH_MNT=/scratch
212                 ;;
213             lumpy)
214                 TEST_DEV=/dev/sdc5
215                 TEST_DIR=/mnt/scratch_0
216                 SCRATCH_DEV=/dev/sdc7
217                 SCRATCH_MNT=/mnt/scratch_2
218                 ;;
219             bongo)
220                 TEST_DEV=/dev/hda8
221                 TEST_DIR=/xfs1
222                 SCRATCH_DEV=/dev/hda9
223                 SCRATCH_MNT=/xfs2
224                 SCRATCH_LOGDEV=/dev/hda10
225                 SCRATCH_RTDEV=/dev/hda11
226                 ;;
227             surly)
228                 TEST_DEV=/dev/hda9
229                 TEST_DIR=/mnt/xfs1
230                 SCRATCH_DEV=/dev/hda8
231                 SCRATCH_MNT=/mnt/xfs0
232                 SCRATCH_LOGDEV=/dev/hda10
233                 TAPE_DEV=/dev/st0
234                 RMT_TAPE_DEV=fuzzy:/dev/st0
235                 RMT_IRIXTAPE_DEV=blub:/dev/tape
236                 RMT_TAPE_USER=guest
237                 ;;
238             permit)
239                 TEST_DEV=/dev/sdc1
240                 TEST_DIR=/mnt/xfs0
241                 SCRATCH_DEV=/dev/sdd1
242                 SCRATCH_MNT=/mnt/xfs1
243                 ;;
244             indra)
245                 TEST_DEV=/dev/sdb1
246                 TEST_DIR=/mnt/xfs0
247                 SCRATCH_DEV=/dev/sdb2
248                 SCRATCH_MNT=/mnt/xfs1
249                 ;;
250             usermode)
251                 TEST_DEV=/dev/ubd/1
252                 TEST_DIR=/mnt/test
253                 SCRATCH_DEV=/dev/ubd/2
254                 SCRATCH_MNT=/mnt/scratch
255                 SCRATCH_RTDEV=/dev/ubd/3
256                 SCRATCH_LOGDEV=/dev/ubd/4
257                 ;;
258             lite)
259                 TEST_DEV=/dev/sda1
260                 TEST_DIR=/mnt/sda1
261                 SCRATCH_DEV=/dev/sda2
262                 SCRATCH_MNT=/mnt/sda2
263                 SCRATCH_LOGDEV=/dev/sda3
264                 SCRATCH_RTDEV=/dev/sda4
265                 ;;
266             dmfnt2)
267                 TEST_DEV=/dev/sda6
268                 TEST_DIR=/mnt/test
269                 SCRATCH_DEV=/dev/sdc6
270                 SCRATCH_MNT=/mnt/scratch
271                 TAPE_DEV=/dev/st0
272                 RMT_TAPE_DEV=longhorn:/dev/tape
273                 # RMT_IRIXTAPE_DEV=longhorn:/dev/tape
274                 RMT_TAPE_USER=guest
275                 ;;
276             lab343)
277                 MODULAR=0
278                 EMAIL="hch@sgi.com"
279                 TEST_DEV=/dev/sdb1
280                 SCRATCH_DEV=/dev/sdb2
281                 SCRATCH_LOGDEV=/dev/sdb5
282                 SCRATCH_RTDEV=/dev/sdb6
283                 TEST_DIR=/qa/test
284                 SCRATCH_MNT=/qa/scratch
285                 ;;
286             dribble)
287                 #dedicated qa machine
288                 MODULAR=0
289                 EMAIL="ddiss@sgi.com"
290                 TEST_DIR=/mnt/test
291                 TEST_DEV=/dev/dsk/dks0d2s0
292                 SCRATCH_MNT=/mnt/scratch
293                 SCRATCH_DEV=/dev/dsk/dks0d2s6
294                 #TAPE_DEV=/dev/tape
295                 #RMT_TAPE_DEV=icy:/dev/st0
296                 #RMT_TAPE_USER=guest
297                 ;;
298              giro)
299                 MODULAR=0
300                 EMAIL="ddiss@sgi.com"
301                 TEST_DIR=/mnt/test
302                 TEST_DEV=/dev/dsk/dks0d2s0
303                 SCRATCH_MNT=/mnt/scratch
304                 SCRATCH_DEV=/dev/dsk/dks0d2s6
305                 #TAPE_DEV=/dev/tape
306                 #RMT_TAPE_DEV=icy:/dev/st0
307                 #RMT_TAPE_USER=guest
308                 ;;
309             cxfsirix1)
310                 EMAIL="ajones@sgi.com"
311                 TEST_DIR=/mnt/xfs_test0
312                 TEST_DEV=/dev/cxvm/xfs_test0
313                 SCRATCH_MNT=/mnt/xfs_test1
314                 SCRATCH_DEV=/dev/cxvm/xfs_test1
315                 ;;
316             hammer)
317                 EMAIL="bnaujok@sgi.com"
318                 TEST_DIR=/mnt/test
319                 TEST_DEV=/dev/sda5
320                 SCRATCH_MNT=/mnt/scratch
321                 SCRATCH_DEV=/dev/sda6
322                 ;;
323             emu)
324                 MODULAR=0
325                 EMAIL="vapo@sgi.com"
326                 TEST_DIR=/mnt/test
327                 TEST_DEV=/dev/sdb1
328                 SCRATCH_MNT=/mnt/scratch1
329                 SCRATCH_DEV=/dev/sdb2
330                 ;;
331             scaly)
332                 EMAIL="bnaujok@sgi.com"
333                 TEST_DIR=/mnt/test
334                 TEST_DEV=/dev/sdd3
335                 #TEST_LOGDEV=/dev/sdd1
336                 SCRATCH_MNT=/mnt/scratch
337                 SCRATCH_DEV=/dev/sdd4
338                 #SCRATCH_LOGDEV=/dev/sdd2
339                 ;;
340             cxfsaltix5)                                                                           
341                 EMAIL="leenap@sgi.com"                        
342                 TEST_DIR=/mnt/xfsnew
343                 TEST_DEV=/dev/lxvm/xfsnew                
344                 SCRATCH_MNT=/mnt/xfsscratch
345                 SCRATCH_DEV=/dev/lxvm/xfsscratch
346                 ;;
347             cxfsaltix2)
348                 EMAIL="leenap@sgi.com"
349                 #TEST_DIR=/mnt/xfs_test
350                 #TEST_DEV=/dev/lxvm/xfs_test
351                 #TEST_DIR=/mnt/xfsdata
352                 #TEST_DEV=/dev/cxvm/xfsdata
353                 #TEST_LOGDEV=/dev/sdd1
354                 #SCRATCH_MNT=/mnt/xfs_scratch
355                 #SCRATCH_DEV=/dev/lxvm/xfs_scratch
356                 #SCRATCH_MNT=/mnt/xfsscratch
357                 #SCRATCH_DEV=/dev/cxvm/xfsscratch
358                 #SCRATCH_LOGDEV=/dev/sdd2
359                 TEST_DIR=/mnt/data_xfs
360                 TEST_DEV=/dev/lxvm/data_xfs
361                 SCRATCH_MNT=/mnt/xfs_scratch
362                 SCRATCH_DEV=/dev/lxvm/xfs_scratch
363                 ;;
364             inferno)
365                 #dedicated qa machine (has some values already set)
366                 [ -z "$MODULAR" ] && MODULAR=1
367                 EMAIL="ddiss@sgi.com"
368                 [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
369                 [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
370                 [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
371                 [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
372                 [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
373                 [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
374                 [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb5
375                 [ -z "$TAPE_DEV" ] && TAPE_DEV=/dev/st0
376                 ;;
377             hellfire)
378                 MODULAR=1
379                 EMAIL="ajones@sgi.com"
380                 TEST_DIR=/mnt/test
381                 TEST_DEV=/dev/sda3
382                 TEST_LOGDEV=/dev/sda5
383                 SCRATCH_MNT=/mnt/scratch
384                 SCRATCH_DEV=/dev/sda4
385                 SCRATCH_LOGDEV=/dev/sda6
386                 #SCRATCH_RTDEV=/dev/sda7
387                 TAPE_DEV=/dev/st0
388                 #RMT_IRIXTAPE_DEV=snort:/dev/tape
389                 #RMT_TAPE_DEV=icy:/dev/st0
390                 #RMT_TAPE_USER=guest
391                 ;;
392             rooster)
393                 MODULAR=1
394                 EMAIL="ajones@sgi.com"
395                 TEST_DIR=/mnt/test
396                 TEST_DEV=/dev/sdb1
397                 SCRATCH_MNT=/mnt/scratch
398                 SCRATCH_DEV=/dev/sdb2
399                 TAPE_DEV=/dev/st0
400                 #RMT_IRIXTAPE_DEV=snort:/dev/tape
401                 #RMT_TAPE_DEV=icy:/dev/st0
402                 #RMT_TAPE_USER=guest
403                 ;;
404             rosella)
405                 MODULAR=1
406                 EMAIL="ajones@sgi.com"
407                 TEST_DIR=/mnt/test
408                 TEST_DEV=/dev/sdb1
409                 SCRATCH_MNT=/mnt/scratch
410                 SCRATCH_DEV=/dev/sdb3
411                 TAPE_DEV=/dev/st0
412                 #RMT_IRIXTAPE_DEV=snort:/dev/tape
413                 #RMT_TAPE_DEV=icy:/dev/st0
414                 #RMT_TAPE_USER=guest
415                 ;;
416             crackle)
417                 #irix-crackle
418                 TEST_DIR=/mnt/xfs
419                 SCRATCH_MNT=/mnt/xfs2
420                 TEST_DEV=/dev/dsk/dks0d1s3
421                 SCRATCH_DEV=/dev/dsk/dks0d1s4
422                 ;;
423             tinkle)
424                 #irix-patchbox-tinkle
425                 TEST_DEV=/dev/dsk/dks0d2s0
426                 TEST_DIR=/mnt/xfs_test
427                 SCRATCH_DEV=/dev/dsk/dks0d2s1
428                 SCRATCH_MNT=/mnt/xfs_scratch
429                 ;;
430             cocky)
431                 MODULAR=1
432                 EMAIL="ajones@sgi.com"
433                 TEST_DIR=/mnt/test
434                 TEST_DEV=/dev/sdb1
435                 TEST_LOGDEV=/dev/sdb3
436                 SCRATCH_MNT=/mnt/scratch
437                 SCRATCH_DEV=/dev/sdb2
438                 SCRATCH_LOGDEV=/dev/sdb4
439                 #SCRATCH_RTDEV=/dev/sdb5
440                 TAPE_DEV=/dev/st0
441                 #RMT_IRIXTAPE_DEV=snort:/dev/tape
442                 #RMT_TAPE_DEV=icy:/dev/st0
443                 #RMT_TAPE_USER=guest
444                 ;;
445             porky)
446                 #dedicated qa machine (has some values already set)
447                 [ -z "$MODULAR" ] && MODULAR=1
448                 EMAIL="ajones@sgi.com"
449                 [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
450                 [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
451                 [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
452                 [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
453                 [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
454                 [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
455                 #[ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb7
456                 #[ -z "$TAPE_DEV" ] && TAPE_DEV=/dev/st0
457                 ;;
458             puffy)
459                 MODULAR=1
460                 EMAIL="tes@sgi.com"
461                 TEST_DIR=/mnt/test
462                 TEST_DEV=/dev/sda7
463                 SCRATCH_MNT=/mnt/scratch
464                 SCRATCH_DEV=/dev/sda8
465                 TAPE_DEV=/dev/st0
466                 ;;
467             galah)
468                 MODULAR=1
469                 EMAIL="ddiss@sgi.com"
470                 TEST_DIR=/mnt/data
471                 TEST_DEV=/dev/sdb1
472                 SCRATCH_MNT=/mnt/scratch
473                 SCRATCH_DEV=/dev/sda6
474                 #RMT_IRIXTAPE_DEV=snort:/dev/tape
475                 #RMT_TAPE_DEV=icy:/dev/st0
476                 #RMT_TAPE_USER=guest
477                 ;;
478         screamer)
479                 #dedicated qa machine (has some values already set)
480                 [ -z "$MODULAR" ] && MODULAR=1
481                 EMAIL="ddiss@sgi.com"
482                 [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
483                 [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
484                 #[ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb3
485                 [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
486                 [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
487                 #[ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb4
488                 #[ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb5
489                 ;;
490              linux-chatz)
491                 #vmware on pc-chatz
492                 MODULAR=1
493                 EMAIL="chatz@sgi.com"
494                 USE_EXTERNAL=yes
495                 TEST_DIR="/mnt/data"
496                 TEST_DEV=/dev/sdd
497                 TEST_LOGDEV=/dev/sdb
498                 SCRATCH_MNT=/mnt/scratch
499                 SCRATCH_DEV=/dev/sdg
500                 SCRATCH_LOGDEV=/mnt/sde
501                 ;;
502                 chapter11)
503                         [ -z "$MODULAR" ] && MODULAR=1
504                         EMAIL="ddiss@sgi.com"
505                         [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
506                         [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb5
507                         [ -z "$TEST_LOGDEV" ] && TEST_LOGDEV=/dev/sdb7
508                         [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
509                         [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb6
510                         [ -z "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=/dev/sdb8
511                         [ -z "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=/dev/sdb9
512                         ;;
513                 dassi)
514                         MODULAR=0
515                         EMAIL="ddiss@sgi.com"
516                         TEST_DIR=/mnt/test
517                         TEST_DEV=/dev/dsk/dks0d2s0
518                         SCRATCH_MNT=/mnt/scratch
519                         SCRATCH_DEV=/dev/dsk/dks0d2s6
520                         ;;
521                 molten)
522                         [ -z "$MODULAR" ] && MODULAR=1
523                         EMAIL="ddiss@sgi.com"
524                         [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
525                         [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb5
526                         [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
527                         [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb6
528                         ;;
529                 howler)
530                         [ -z "$MODULAR" ] && MODULAR=1
531                         EMAIL="allanr@sgi.com"
532                         [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/test
533                         [ -z "$TEST_DEV" ] && TEST_DEV=/dev/sdb1
534                         [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/scratch
535                         [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/sdb2
536                         ;;
537                 flame)
538                         #dedicated qa machine (has some values already set)
539                         [ -z "$MODULAR" ] && MODULAR=1
540                         EMAIL="ddiss@sgi.com"
541                         [ -z "$TEST_DIR" ] && TEST_DIR=/mnt/xfs_test
542                         [ -z "$TEST_DEV" ] && TEST_DEV=/dev/lxvm/xfs_test
543                         [ -z "$SCRATCH_MNT" ] && SCRATCH_MNT=/mnt/xfs_scratch
544                         [ -z "$SCRATCH_DEV" ] && SCRATCH_DEV=/dev/lxvm/xfs_scratch
545                         ;;
546                 *)
547                         echo "Error: need to define parameters for host $HOST"
548                         exit 1
549                         ;;
550         esac
551 }
552
553 if [ -f "$HOST_OPTIONS" ]; then
554     . "$HOST_OPTIONS"
555 else
556     known_hosts
557 fi
558
559 echo $TEST_DEV | grep -q ":" > /dev/null 2>&1
560 if [ ! -b "$TEST_DEV" -a "$?" != "0" ]
561 then
562     echo "common.config: Error: \$TEST_DEV ($TEST_DEV) is not a block device or a NFS filesystem"
563     exit 1
564 fi
565
566 if [ ! -d "$TEST_DIR" ]
567 then
568     echo "common.config: Error: \$TEST_DIR ($TEST_DIR) is not a directory"
569     exit 1
570 fi
571
572 echo $SCRATCH_DEV | grep -q ":" > /dev/null 2>&1
573 if [ ! -z "$SCRATCH_DEV" -a ! -b "$SCRATCH_DEV" -a "$?" != "0" ]
574 then
575     echo "common.config: Error: \$SCRATCH_DEV ($SCRATCH_DEV) is not a block device or a NFS filesystem"
576     exit 1
577 fi
578
579 if [ ! -z "$SCRATCH_MNT" -a ! -d "$SCRATCH_MNT" ]
580 then
581     echo "common.config: Error: \$SCRATCH_MNT ($SCRATCH_MNT) is not a directory"
582     exit 1
583 fi
584
585 _readlink()
586 {
587     if [ $# -ne 1 ]
588     then
589         echo "Usage: _readlink filename" 1>&2
590         exit 1
591     fi
592
593     perl -e "\$in=\"$1\";" -e '
594         $lnk = readlink($in);
595         if ($lnk =~ m!^/.*!) {
596           print "$lnk\n";
597         }
598         else {
599           chomp($dir = `dirname $in`);
600           print "$dir/$lnk\n";
601         }'
602 }
603
604 # if devfs is running expand the full /dev/.. pathname - this is what will be
605 # returned by utilities such as mount
606 [ -L "$TEST_DEV" ] && TEST_DEV=`_readlink $TEST_DEV`
607 [ -L "$SCRATCH_DEV" ] && SCRATCH_DEV=`_readlink $SCRATCH_DEV`
608 [ -L "$SCRATCH_LOGDEV" ] && SCRATCH_LOGDEV=`_readlink $SCRATCH_LOGDEV`
609 [ -L "$SCRATCH_RTDEV" ] && SCRATCH_RTDEV=`_readlink $SCRATCH_LOGDEV`
610
611 # make sure this script returns success
612 /bin/true