glusterfs

Форк
0
/
bug-1468483.t 
58 строк · 1.6 Кб
1
#!/bin/bash
2

3
. $(dirname $0)/../../include.rc
4
. $(dirname $0)/../../volume.rc
5
. $(dirname $0)/../../common-utils.rc
6

7
cleanup
8

9
TEST glusterd
10
TEST pidof glusterd
11
TEST $CLI volume create $V0 $H0:$B0/${V0}0
12
TEST $CLI volume set $V0 performance.write-behind off
13
TEST $CLI volume set $V0 features.shard on
14
TEST $CLI volume set $V0 features.shard-block-size 16MB
15
TEST $CLI volume start $V0
16
TEST $CLI volume profile $V0 start
17

18
TEST $GFS --volfile-id=$V0 --volfile-server=$H0 $M0
19
TEST dd if=/dev/zero conv=fsync of=$M0/foo bs=1M count=100
20

21
#This should ensure /.shard is created on the bricks.
22
TEST stat $B0/${V0}0/.shard
23

24
gfid_foo=$(get_gfid_string $M0/foo)
25

26
TEST stat $B0/${V0}0/.shard/$gfid_foo.1
27
TEST stat $B0/${V0}0/.shard/$gfid_foo.2
28
TEST stat $B0/${V0}0/.shard/$gfid_foo.3
29
TEST stat $B0/${V0}0/.shard/$gfid_foo.4
30
TEST stat $B0/${V0}0/.shard/$gfid_foo.5
31
TEST stat $B0/${V0}0/.shard/$gfid_foo.6
32

33
# For a file with 7 shards, there should be 7 fsyncs on the brick. Without this
34
# fix, I was seeing only 1 fsync (on the base shard alone).
35

36
EXPECT "7" echo `$CLI volume profile $V0 info incremental | grep -w FSYNC | awk '{print $8}'`
37

38
useradd -M test_user 2>/dev/null
39

40
TEST touch $M0/bar
41

42
# Change ownership to non-root on bar.
43
TEST chown test_user:test_user $M0/bar
44

45
TEST $CLI volume profile $V0 stop
46
TEST $CLI volume profile $V0 start
47

48
# Write 100M of data on bar as non-root.
49
TEST run_cmd_as_user test_user "dd if=/dev/zero conv=fsync of=$M0/bar bs=1M count=100"
50

51
EXPECT "7" echo `$CLI volume profile $V0 info incremental | grep -w FSYNC | awk '{print $8}'`
52

53
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0
54
userdel test_user
55
TEST $CLI volume stop $V0
56
TEST $CLI volume delete $V0
57

58
cleanup
59

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

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

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

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