glusterfs

Форк
0
/
bugs_distribute_bug-1117851.t 
83 строки · 1.8 Кб
1
#!/bin/bash
2

3
SCRIPT_TIMEOUT=250
4

5
. $(dirname $0)/../include.rc
6
. $(dirname $0)/../volume.rc
7

8
create_files () {
9
	for i in {1..1000}; do
10
		orig=$(printf %s/abc%04d $1 $i)
11
		real=$(printf %s/src%04d $1 $i)
12
		# Make sure lots of these have linkfiles.
13
		echo "This is file $i" > $orig
14
		mv $orig $real
15
	done
16
	sync
17
}
18

19
move_files () {
20
	for i in {1..1000}; do
21
		src=$(printf %s/src%04d $1 $i)
22
		dst=$(printf %s/dst%04d $1 $i)
23
		mv $src $dst 2> /dev/null
24
	done
25
}
26

27
check_files () {
28
	errors=0
29
	for i in {1..1000}; do
30
		if [ ! -f $(printf %s/dst%04d $1 $i) ]; then
31
			if [ -f $(printf %s/src%04d $1 $i) ]; then
32
				echo "file $i didnt get moved" > /dev/stderr
33
			else
34
				echo "file $i is MISSING" > /dev/stderr
35
				errors=$((errors+1))
36
			fi
37
		fi
38
	done
39
	if [ $((errors)) != 0 ]; then
40
		: ls -l $1 > /dev/stderr
41
	fi
42
	return $errors
43
}
44

45
cleanup;
46

47
TEST glusterd
48
TEST pidof glusterd
49
TEST $CLI volume info;
50

51
TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{1,2,3,4,5,6};
52

53
EXPECT "$V0" volinfo_field $V0 'Volume Name';
54
EXPECT 'Created' volinfo_field $V0 'Status';
55
EXPECT '6' brick_count $V0
56

57
TEST $CLI volume start $V0;
58
EXPECT 'Started' volinfo_field $V0 'Status';
59

60
## Mount FUSE with caching disabled (read-write)
61
TEST glusterfs --entry-timeout=0 --attribute-timeout=0 -s $H0 --volfile-id $V0 $M0;
62

63
TEST create_files $M0
64

65
## Mount FUSE with caching disabled (read-write) again
66
TEST glusterfs --entry-timeout=0 --attribute-timeout=0 -s $H0 --volfile-id $V0 $M1;
67

68
move_files $M0 &
69
move_files $M1 &
70
wait
71

72
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0
73
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M1
74
TEST glusterfs --entry-timeout=0 --attribute-timeout=0 -s $H0 --volfile-id $V0 $M0;
75
TEST check_files $M0
76

77
TEST $CLI volume stop $V0;
78
EXPECT 'Stopped' volinfo_field $V0 'Status';
79

80
TEST $CLI volume delete $V0;
81
TEST ! $CLI volume info $V0;
82

83
cleanup;
84

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

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

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

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