glusterfs

Форк
0
/
bug-1371806.t 
81 строка · 2.3 Кб
1
#!/bin/bash
2
. $(dirname $0)/../include.rc
3
. $(dirname $0)/../volume.rc
4
. $(dirname $0)/../dht.rc
5
cleanup;
6

7
function get_getfattr {
8
        local path=$1
9
        echo `getfattr -n user.foo $path` | cut -f2 -d"=" | sed -e 's/^"//'  -e 's/"$//'
10
}
11

12
function set_fattr {
13
        for i in `seq 1 10`
14
        do
15
                setfattr -n user.foo -v "newabc" ./tmp${i}
16
                if [ "$?" = "0" ]
17
                 then
18
                    succ=$((succ+1))
19
                else
20
                    fail=$((fail+1))
21
                fi
22
        done
23
}
24

25

26

27
TEST glusterd
28
TEST pidof glusterd
29
TEST $CLI volume create $V0 $H0:$B0/${V0}{0,1,2,3,4,5}
30
TEST $CLI volume start $V0
31
EXPECT_WITHIN ${PROCESS_UP_TIMEOUT} "6" online_brick_count
32

33
TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 --entry-timeout=0 $M0;
34

35
cd $M0
36
TEST mkdir tmp{1..10}
37

38
##First set user.foo xattr with value abc on all dirs
39

40
TEST setfattr -n user.foo -v "abc" ./tmp{1..10}
41
EXPECT "abc" get_getfattr ./tmp{1..10}
42
EXPECT "abc" get_getfattr $B0/${V0}5/tmp{1..10}
43

44
TEST kill_brick $V0 $H0 $B0/${V0}5
45
EXPECT_WITHIN ${PROCESS_UP_TIMEOUT} "5" online_brick_count
46

47
succ=fail=0
48
## set user.foo xattr with value newabc after kill one brick
49
set_fattr
50
TEST $CLI volume start $V0 force
51
EXPECT_WITHIN ${PROCESS_UP_TIMEOUT} "6" online_brick_count
52

53
cd -
54
TEST umount $M0
55
TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 --entry-timeout=0 $M0;
56

57
cd $M0
58
## At this point dht code will heal xattr on down brick only for those dirs
59
## hashed subvol was up at the time of update xattr
60
TEST stat ./tmp{1..10}
61

62
## Count the user.foo xattr value with abc on mount point and compare with fail value
63
count=`getfattr -n user.foo ./tmp{1..10} | grep "user.foo" | grep -iw "abc" | wc -l`
64
EXPECT "$fail" echo $count
65

66
## Count the user.foo xattr value with newabc on mount point and compare with succ value
67
count=`getfattr -n user.foo ./tmp{1..10} | grep "user.foo" | grep -iw "newabc" | wc -l`
68
EXPECT "$succ" echo $count
69

70
## Count the user.foo xattr value with abc on brick and compare with succ value
71
count=`getfattr -n user.foo $B0/${V0}5/tmp{1..10} | grep "user.foo" | grep -iw "abc" | wc -l`
72
EXPECT "$fail" echo $count
73

74
## Count the user.foo xattr value with newabc on brick and compare with succ value
75
count=`getfattr -n user.foo $B0/${V0}5/tmp{1..10} | grep "user.foo" | grep -iw "newabc" | wc -l`
76
EXPECT "$succ" echo $count
77

78

79
cd -
80
cleanup
81
exit
82

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.