glusterfs

Форк
0
/
bug-1477169-entry-selfheal-rename.t 
52 строки · 2.5 Кб
1
#!/bin/bash
2
. $(dirname $0)/../../include.rc
3
. $(dirname $0)/../../volume.rc
4
cleanup;
5

6
TEST glusterd
7
TEST pidof glusterd
8
TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{0,1,2}
9
TEST $CLI volume start $V0
10

11
TEST $GFS --volfile-id=$V0 --volfile-server=$H0 --attribute-timeout=0 --entry-timeout=0 $M0;
12
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 0
13
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 1
14
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 2
15

16
TEST mkdir -p $M0/d1/dir012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 $M0/d2
17
gfid_d1=$(gf_get_gfid_xattr $B0/${V0}0/d1)
18
gfid_d2=$(gf_get_gfid_xattr $B0/${V0}0/d2)
19
gfid_dir=$(gf_get_gfid_xattr $B0/${V0}0/d1/dir012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789)
20

21
gfid_str_d1=$(gf_gfid_xattr_to_str $gfid_d1)
22
gfid_str_d2=$(gf_gfid_xattr_to_str $gfid_d2)
23
gfid_str_d3=$(gf_gfid_xattr_to_str $gfid_dir)
24

25
# Kill 3rd brick and rename the dir from mount.
26
TEST kill_brick $V0 $H0 $B0/${V0}2
27
TEST mv $M0/d1/dir012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 $M0/d2
28

29
# Bring it back and trigger heal.
30
TEST $CLI volume start $V0 force
31

32
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status $V0 2
33
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" glustershd_up_status
34
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 0
35
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 1
36
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 2
37

38
TEST $CLI volume heal $V0
39
EXPECT_WITHIN $HEAL_TIMEOUT "^0$" get_pending_heal_count $V0
40

41
# Check that .glusterfs symlink for dir exists and points to d2/dir012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
42
TEST linkname=$(readlink $B0/${V0}2/.glusterfs/${gfid_str_d3:0:2}/${gfid_str_d3:2:2}/$gfid_str_d3)
43
EXPECT "dir012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" basename $linkname
44
TEST parent_dir_gfid_str=$(echo $linkname|cut -d / -f5)
45
EXPECT $gfid_str_d2 echo $parent_dir_gfid_str
46

47
TEST rmdir $M0/d2/dir012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
48

49
TEST ! stat $B0/${V0}0/.glusterfs/${gfid_str_d3:0:2}/${gfid_str_d3:2:2}/$gfid_str_d3
50
TEST ! stat $B0/${V0}1/.glusterfs/${gfid_str_d3:0:2}/${gfid_str_d3:2:2}/$gfid_str_d3
51
TEST ! stat $B0/${V0}2/.glusterfs/${gfid_str_d3:0:2}/${gfid_str_d3:2:2}/$gfid_str_d3
52
cleanup;
53

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

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

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

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