summaryrefslogtreecommitdiffstats
path: root/dvm/2567/testcase
blob: 3ab7262644fa8483a4fa837372c685956f91c35d (plain)
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
#!/bin/bash

function _init ()
{
    source $cwd/regression_helpers
}

function self_heal ()
{
    $GLUSTERFSDIR/gluster volume create $global_bug_id replica 2 $(hostname):$EXPORT_DIR/$global_bug_id/export1 $(hostname):$EXPORT_DIR/$global_bug_id/export2 2>/dev/null 1>/dev/null

    $GLUSTERFSDIR/gluster volume start $global_bug_id 2>/dev/null 1>/dev/null;

    mount_glusterfs $global_bug_id;

    for i in $(ls /etc/glusterd/vols/$global_bug_id/run)
    do
        pid=$(cat /etc/glusterd/vols/$global_bug_id/run/$i);
        kill -KILL $pid;
        break;
    done

    sleep 1;

    mknod $FUSE_MOUNT/file c 2 2;

    $GLUSTERFSDIR/gluster volume start $global_bug_id force 2>/dev/null 1>/dev/null;
    sleep 3;
    df -h 2>/dev/null 1>/dev/null

    ls -l $FUSE_MOUNT/file 2>/dev/null 1>/dev/null;
    stat $FUSE_MOUNT/file 2>/dev/null 1>/dev/null;

    sleep 2;
}

function main ()
{
    self_heal;

    hex_major1=$(stat --printf=%t $EXPORT_DIR/$global_bug_id/export1/file);
    hex_minor1=$(stat --printf=%t $EXPORT_DIR/$global_bug_id/export1/file);

    hex_major2=$(stat --printf=%t $EXPORT_DIR/$global_bug_id/export2/file);
    hex_minor2=$(stat --printf=%t $EXPORT_DIR/$global_bug_id/export2/file);

    dec_major1=$(printf "%d" 0x$hex_major1);
    dec_minor1=$(printf "%d" 0x$hex_minor1);

    dec_major2=$(printf "%d" 0x$hex_major2);
    dec_minor2=$(printf "%d" 0x$hex_minor2);

    if [ $dec_major1 -ne $dec_major2 ] || [ $dec_minor1 -ne $dec_minor2 ]; then
        exit 1;
    else
        exit 0;
    fi
}

_init && main "$@"