Whamcloud - gitweb
c3016300baedbb3eda357190fbb08c77b1c99a1b
[fs/lustre-release.git] / lustre / demos / basesetup.sh
1 #! /bin/sh
2 # Get the locations for the files from a single place to avoid confusion
3 OBDDIR="`dirname $0`/.."
4
5 # source config info
6 . $OBDDIR/demos/config.sh
7
8 # module configuration
9 if [ "$MODCONF" -a -f $MODCONF ]; then
10     if [ -z "`grep -i "alias  *char-major-$OBDMAJ  *obdclass" $MODCONF`" ]; then
11          echo "alias char-major-${OBDMAJ} obdclass" >>$MODCONF
12     fi
13 fi
14
15
16 # temp file
17 if [ "$TMPFILE" -a -f $TMPFILE ]; then 
18     echo "$TMPFILE exists; I'm unwilling to overwrite it.  Remove [N/y]?" 1>&2
19     rm -i $TMPFILE
20     [ -f $TMPFILE ] && exit 1
21 fi
22 [ "$TMPFILE" ] && dd if=/dev/zero of=$TMPFILE bs=1k count=$TMPSIZE
23
24
25 # loop device
26 if [ "$LOOPDEV" ]; then
27     insmod loop > /dev/null 2>&1
28     if [ -a "`losetup $LOOPDEV 2> /dev/null`" ]; then
29         echo "It appears that $LOOPDEV is in use.  Unable to continue" 1>&2
30         echo "You need to clean up $LOOPDEV (via cleanup.sh),"
31         echo "or you can change which device is used in demos/config.sh" 1>&2
32         # undo previous
33         [ "$TMPFILE" ] && rm $TMPFILE
34         exit 2
35     fi
36     losetup $LOOPDEV $TMPFILE
37 fi
38
39 # Ensure that we have the correct devices for OBD to work
40 [ ! -c /dev/obd0 ] && mknod /dev/obd0 c $OBDMAJ 0
41 [ ! -c /dev/obd1 ] && mknod /dev/obd1 c $OBDMAJ 1
42 [ ! -c /dev/obd2 ] && mknod /dev/obd2 c $OBDMAJ 2
43
44
45 if [ "$BASEDEV" ]; then
46     mke2fs -r 0 -b 4096 $BASEDEV
47 else
48     echo "\$BASEDEV not defined in demos/config.sh.  Please fix!"
49     [ "$LOOPDEV" ] && losetup -d $LOOPDEV 
50     [ "$TMPFILE" ] && rm $TMPFILE
51     exit 3
52 fi