Whamcloud - gitweb
Revert my use of the configure_flags macro in the lustre.spec file and just
[fs/lustre-release.git] / lustre / tests / lov.sh
1 #!/bin/bash
2
3 set -e
4
5 export PATH=`dirname $0`/../utils:$PATH
6
7 config=${1:-lov.xml}
8
9 LMC="${LMC:-lmc} -m $config"
10 TMP=${TMP:-/tmp}
11
12 MDSDEV=${MDSDEV:-$TMP/mds1-`hostname`}
13 MDSSIZE=${MDSSIZE:-400000}
14 MOUNT=${MOUNT:-/mnt/lustre}
15 MOUNT2=${MOUNT2:-${MOUNT}2}
16 NETTYPE=${NETTYPE:-tcp}
17
18 DEF_FSTYPE=`test "x$(uname -r | grep -o '2.6')" = "x2.6" && echo "ldiskfs" || echo "ext3"`
19 FSTYPE=${FSTYPE:-$DEF_FSTYPE}
20 #used only if FSTYPE == smfs, otherwise ignored by lconf
21 MDS_BACKFSTYPE=${MDS_BACKFSTYPE:-$DEF_FSTYPE}
22 OST_BACKFSTYPE=${OST_BACKFSTYPE:-$DEF_FSTYPE}
23
24 OSTCOUNT=${OSTCOUNT:-5}
25 # OSTDEVN will still override the device for OST N
26
27 OSTSIZE=${OSTSIZE:-150000}
28 # 1 to config an echo client instead of llite
29 ECHO_CLIENT=${ECHO_CLIENT:-}
30
31 STRIPE_BYTES=524288
32 STRIPES_PER_OBJ=${STRIPES_PER_OBJ:-$((OSTCOUNT -1))}
33
34 # specific journal size for the ost, in MB
35 JSIZE=${JSIZE:-0}
36 JARG=""
37 [ "$JSIZE" -gt 0 ] && JARG="--journal_size $JSIZE"
38
39 rm -f $config
40
41 # create nodes
42 ${LMC} --add node --node localhost || exit 10
43 ${LMC} --add net --node  localhost --nid `hostname` --nettype $NETTYPE || exit 11
44 ${LMC} --add net --node client --nid '*' --nettype $NETTYPE || exit 12
45
46
47 # configure mds server
48 ${LMC} --format --add mds --node localhost --mds mds1 --fstype $FSTYPE --backfstype $MDS_BACKFSTYPE --dev $MDSDEV --size $MDSSIZE || exit 20
49
50 # configure ost
51 ${LMC} --add lov --lov lov1 --mds mds1 --stripe_sz $STRIPE_BYTES --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 || exit 20
52
53 for num in `seq $OSTCOUNT`; do
54     OST=ost$num
55     DEVPTR=OSTDEV$num
56     eval $DEVPTR=${!DEVPTR:=$TMP/$OST-`hostname`}
57     ${LMC} --add ost --node localhost --lov lov1 --ost $OST --fstype $FSTYPE --backfstype $OST_BACKFSTYPE \
58            --dev ${!DEVPTR} --size $OSTSIZE $JARG || exit 30
59 done
60
61
62 if [ -z "$ECHO_CLIENT" ]; then
63         # create client config
64         ${LMC} --add mtpt --node localhost --path $MOUNT --clientoptions async --mds mds1 --lov lov1 || exit 40
65         ${LMC} --add mtpt --node client --path $MOUNT2 --clientoptions async --mds mds1 --lov lov1 || exit 41
66 else
67         ${LMC} --add echo_client --node localhost --ost lov1 || exit 42
68 fi