Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/sh
set -e
LUSTRE=${LUSTRE:-`dirname $0`/..}
LTESTDIR=${LTESTDIR:-$LUSTRE/../ltest}
PATH=$PATH:$LUSTRE/utils:$LUSTRE/tests
RLUSTRE=${RLUSTRE:-$LUSTRE}
RPWD=${RPWD:-$PWD}
. $LTESTDIR/functional/llite/common/common.sh
# XXX I wish all this stuff was in some default-config.sh somewhere
MOUNTPT=${MOUNTPT:-/mnt/lustre}
MDSDEV=${MDSDEV:-/tmp/mds-`hostname`}
MDSSIZE=${MDSSIZE:-100000}
OSTDEV=${OSTDEV:-/tmp/ost-`hostname`}
OSTSIZE=${OSTSIZE:-100000}
UPCALL=${UPCALL:-$PWD/replay-single-upcall.sh}
FSTYPE=${FSTYPE:-ext3}
TIMEOUT=${TIMEOUT:-5}
start() {
facet=$1
shift
lconf --node ${facet}_facet $@ replay-single.xml
}
stop() {
facet=$1
shift
lconf --node ${facet}_facet $@ -d replay-single.xml
}
replay_barrier() {
local dev=$1
sync
lctl --device %${dev}1 readonly
lctl --device %${dev}1 notransno
}
fail() {
stop mds
start mds
df $MOUNTPT
}
do_lmc() {
lmc -m replay-single.xml $@
}
add_facet() {
local facet=$1
shift
do_lmc --add node --node ${facet}_facet $@ --timeout $TIMEOUT
do_lmc --add net --node ${facet}_facet --nid localhost --nettype tcp
}
gen_config() {
rm -f replay-single.xml
add_facet mds
add_facet ost
add_facet client --lustre_upcall $UPCALL
do_lmc --add mds --node mds_facet --mds mds1 --dev $MDSDEV --size $MDSSIZE
do_lmc --add ost --node ost_facet --ost ost1 --dev $OSTDEV --size $OSTSIZE
do_lmc --add mtpt --node client_facet --path $MOUNTPT --mds mds1 --ost ost1
}
gen_config
start mds
start ost
start client
touch $MOUNTPT/lustre-works
replay_barrier mds
touch $MOUNTPT/lustre-does-not-work
stop client
stop ost
stop mds