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