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