Whamcloud - gitweb
b=8007
[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:-`basename $0 .sh`.xml}
8
9 LMC="${LMC:-lmc} -m $config"
10 TMP=${TMP:-/tmp}
11
12 HOSTNAME=`hostname`
13 MDSDEV=${MDSDEV:-$TMP/mds1-`hostname`}
14 MDSSIZE=${MDSSIZE:-400000}
15 FSTYPE=${FSTYPE:-ext3}
16 MOUNT=${MOUNT:-/mnt/lustre}
17 MOUNT2=${MOUNT2:-${MOUNT}2}
18 NETTYPE=${NETTYPE:-tcp}
19
20 OSTCOUNT=${OSTCOUNT:-5}
21 # OSTDEVN will still override the device for OST N
22
23 OSTSIZE=${OSTSIZE:-150000}
24 # 1 to config an echo client instead of llite
25 ECHO_CLIENT=${ECHO_CLIENT:-}
26
27 STRIPE_BYTES=${STRIPE_BYTES:-1048576}
28 STRIPES_PER_OBJ=${STRIPES_PER_OBJ:-$((OSTCOUNT -1))}
29
30 CLIENTOPT="user_xattr,${CLIENTOPT:-""}"
31
32 # specific journal size for the ost, in MB
33 JSIZE=${JSIZE:-0}
34 JARG=""
35 [ "$JSIZE" -gt 0 ] && JARG="--journal_size $JSIZE"
36
37 rm -f $config
38
39 # create nodes
40 ${LMC} --add node --node $HOSTNAME || exit 10
41 ${LMC} --add net --node $HOSTNAME --nid $HOSTNAME --nettype $NETTYPE || exit 11
42 ${LMC} --add net --node client --nid '*' --nettype $NETTYPE || exit 12
43
44 # configure mds server
45 ${LMC} --format --add mds --node $HOSTNAME --mds mds1 --fstype $FSTYPE \
46         --dev $MDSDEV --size $MDSSIZE $MDSOPT || exit 20
47
48 # configure ost
49 ${LMC} --add lov --lov lov1 --mds mds1 --stripe_sz $STRIPE_BYTES \
50         --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 $LOVOPT || exit 20
51
52 for num in `seq $OSTCOUNT`; do
53     OST=ost$num
54     DEVPTR=OSTDEV$num
55     eval $DEVPTR=${!DEVPTR:=$TMP/$OST-`hostname`}
56     ${LMC} --add ost --node $HOSTNAME --lov lov1 --ost $OST --fstype $FSTYPE \
57         --dev ${!DEVPTR} --size $OSTSIZE $JARG $OSTOPT || exit 30
58 done
59
60
61 if [ -z "$ECHO_CLIENT" ]; then
62         # create client config
63         [ "x$CLIENTOPT" != "x" ] && CLIENTOPT="--clientoptions $CLIENTOPT"
64         ${LMC} --add mtpt --node $HOSTNAME --path $MOUNT \
65                 --mds mds1 --lov lov1 $CLIENTOPT || exit 40
66         ${LMC} --add mtpt --node client --path $MOUNT2 \
67                 --mds mds1 --lov lov1 $CLIENTOPT || exit 41
68 else
69         ${LMC} --add echo_client --node $HOSTNAME --ost lov1 || exit 42
70 fi