Whamcloud - gitweb
b=23408 disable failure temporarily while we collect performance stats
[fs/lustre-release.git] / lustre / tests / llog-test.sh
1 #!/bin/sh
2
3 set -e
4
5 LUSTRE=${LUSTRE:-`dirname $0`/..}
6 . $LUSTRE/tests/test-framework.sh
7
8 init_test_env $@
9
10 . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
11
12 ostfailover_HOST=${ostfailover_HOST:-$ost_HOST}
13
14 gen_config() {
15     rm -f "$XMLCONFIG"
16     add_mds mds --dev "$MDSDEV" --size "$MDSSIZE"
17     add_lov lov1 mds --stripe_sz $STRIPE_BYTES \
18         --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
19     add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE --failover
20     if [ ! -z "$ostfailover_HOST" ]; then
21          add_ostfailover ost --dev $OSTDEV --size $OSTSIZE
22     fi
23     add_client client mds --lov lov1 --path $MOUNT
24 }
25
26 cleanup() {
27     # make sure we are using the primary MDS, so the config log will
28     # be able to clean up properly.
29     activeost=`facet_active ost`
30     if [ $activeost != "ost" ]; then
31         fail ost
32     fi
33     zconf_umount `hostname` $MOUNT
34     stop mds ${FORCE} $MDSLCONFARGS
35     stop ost ${FORCE} --dump $TMP/replay-ost-single-`hostname`.log
36     cleanup_check
37 }
38
39 if [ "$ONLY" == "cleanup" ]; then
40     sysctl -w portals.debug=0
41     FORCE=--force cleanup
42     exit
43 fi
44
45 build_test_filter
46
47 SETUP=${SETUP:-"setup"}
48 CLEANUP=${CLEANUP:-"cleanup"}
49
50 setup() {
51     gen_config
52
53     start ost --reformat $OSTLCONFARGS
54     [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE
55     start mds --reformat $MDSLCONFARGS
56
57     if [ -z "`grep " $MOUNT " /proc/mounts`" ]; then
58         # test "-1" needed during initial client->OST connection
59         log "== test 00: target handle mismatch (bug 5317) === `date +%H:%M:%S`"
60
61         #define OBD_FAIL_OST_ALL_REPLY_NET       0x211
62         do_facet ost "lctl set_param fail_loc=0x80000211"
63
64         zconf_mount `hostname` $MOUNT && df $MOUNT && pass || error "mount fail"
65     fi
66 }
67
68 mkdir -p $DIR
69
70 $SETUP
71
72 LCOUNT=${LCOUNT:-10000}
73
74 test_0() {
75     ./createmany -o $DIR/llog-%d $LCOUNT
76     #replay_barrier ost
77 }
78 run_test 0 "Prepare fileset"
79
80 test_1() {
81     ./chownmany 1000 $DIR/llog-%d $LCOUNT
82     sleep 5
83     $CHECKSTAT -u \#1000 $DIR/llog-* || return 4
84 }
85 run_test 1 "Do chowns"
86
87 test_2() {
88     HALFCOUNT=${HALFCOUNT:-17}
89     ./chownmany 500 $DIR/llog-%d 0 $HALFCOUNT
90     fail ost
91     ./chownmany 500 $DIR/llog-%d $HALFCOUNT $LCOUNT
92     sleep 5
93     $CHECKSTAT -u \#500 $DIR/llog-* || return 5
94 }
95 run_test 2 "Fail OST during chown"
96
97 test_3() {
98     ./unlinkmany $DIR/llog-%d $LCOUNT
99     sleep 2
100     $CHECKSTAT -t file $DIR/llog-* && return 10 || true
101 }
102 run_test 3 "Remove testset"
103
104 equals_msg test complete, cleaning up
105 FORCE=--force $CLEANUP
106 echo "$0: completed"