glusterfs

Форк
0
/
bug-1371806_3.t 
63 строки · 1.5 Кб
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}
30
TEST $CLI volume start $V0
31

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

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

37
TEST kill_brick $V0 $H0 $B0/${V0}3
38
EXPECT_WITHIN ${PROCESS_UP_TIMEOUT} "3" online_brick_count
39

40
succ=fail=0
41
## set user.foo xattr with value newabc after kill one brick
42
set_fattr
43
TEST $CLI volume start $V0 force
44
EXPECT_WITHIN ${PROCESS_UP_TIMEOUT} "4" online_brick_count
45

46
cd -
47
TEST umount $M0
48
TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 --entry-timeout=0 --attribute-timeout=0 $M0;
49

50
cd $M0
51
## At this point dht code will heal xattr on down brick only for those dirs
52
## hashed subvol was up at the time of update xattr
53
TEST stat ./tmp{1..10}
54

55

56
## Count the user.foo xattr value with newabc on brick and compare with succ value
57
count=`getfattr -n user.foo $B0/${V0}3/tmp{1..10} | grep "user.foo" | grep -iw "newabc" | wc -l`
58
EXPECT "$succ" echo $count
59

60

61
cd -
62
cleanup
63
exit
64

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

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

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

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