Whamcloud - gitweb
LU-12910 osc: allow increasing osc.*.short_io_bytes
[fs/lustre-release.git] / lustre / tests / replay-single-lmv.sh
1 #!/bin/bash
2
3 set -e
4 #set -v
5
6 #
7 # This test needs to be run on the client
8 #
9
10 LUSTRE=${LUSTRE:-`dirname $0`/..}
11 . $LUSTRE/tests/test-framework.sh
12 init_test_env $@
13 . ${CONFIG:=$LUSTRE/tests/cfg/lmv.sh}
14
15
16 # Skip these tests
17 ALWAYS_EXCEPT=""
18 build_test_filter
19
20 SETUP=${SETUP:-"setup"}
21 CLEANUP=${CLEANUP:-"stopall"}
22
23 if [ "$ONLY" == "cleanup" ]; then
24     lctl set_param debug=0 || true
25     $CLEANUP
26     exit 0
27 fi
28
29 setup() {
30     formatall
31     setupall
32 }
33
34 $SETUP
35
36 if [ "$ONLY" == "setup" ]; then
37     exit 0
38 fi
39
40 mkdir -p $DIR
41
42 # LU-482 Avert LVM and VM inability to flush caches in pre .33 kernels
43 if [ $LINUX_VERSION_CODE -lt $(version_code 2.6.33) ]; then
44     sync
45     do_facet $SINGLEMDS sync
46 fi
47
48 test_0() {
49     replay_barrier mds1
50     fail mds1
51 }
52 run_test 0 "empty replay"
53
54 test_0b() {
55     # this test attempts to trigger a race in the precreation code, 
56     # and must run before any other objects are created on the filesystem
57     fail ost1
58     createmany -o $DIR/$tfile 20 || return 1
59     unlinkmany $DIR/$tfile 20 || return 2
60 }
61 run_test 0b "ensure object created after recover exists. (3284)"
62
63 test_1a() {
64     mkdir $DIR/dir01
65     replay_barrier mds2
66     $CHECKSTAT -t dir $DIR/dir01 || return 1
67     rmdir $DIR/dir01
68     fail mds2
69     stat $DIR/dir01
70 }
71 run_test 1a "unlink cross-node dir (fail mds with inode)"
72
73 test_1b() {
74     mkdir $DIR/dir11
75     replay_barrier mds1
76     $CHECKSTAT -t dir $DIR/dir11 || return 1
77     rmdir $DIR/dir11
78     fail mds1
79     stat $DIR/dir11
80 }
81 run_test 1b "unlink cross-node dir (fail mds with name)"
82
83 test_2a() {
84     mkdir $DIR/dir21
85     createmany -o $DIR/dir21/f 3000
86     sleep 10
87     $CHECKSTAT -t dir $DIR/dir21 || return 1
88     $CHECKSTAT -t file $DIR/dir21/f1002 || return 1
89     replay_barrier mds1
90     rm $DIR/dir21/f1002
91     fail mds1
92     stat $DIR/dir21/f1002
93 }
94 run_test 2a "unlink cross-node file (fail mds with name)"
95
96 test_3a() {
97     replay_barrier mds2
98     mkdir $DIR/dir3a1
99     $LCTL mark "FAILOVER mds2"
100     fail mds2
101     stat $DIR
102     $CHECKSTAT -t dir $DIR/dir3a1 || return 1
103 }
104 run_test 3a "mkdir cross-node dir (fail mds with inode)"
105
106 test_3b() {
107     replay_barrier mds1
108     mkdir $DIR/dir3b1
109     $LCTL mark "FAILOVER mds1"
110     fail mds1
111     stat $DIR
112     $CHECKSTAT -t dir $DIR/dir3b1 || return 1
113 }
114 run_test 3b "mkdir cross-node dir (fail mds with inode)"
115
116 complete $SECONDS
117 $CLEANUP
118