glusterfs

Форк
0
/
bug-1157223-symlink-mounting.t 
126 строк · 3.3 Кб
1
#!/bin/bash
2

3
. $(dirname $0)/../../include.rc
4
. $(dirname $0)/../../nfs.rc
5

6
#G_TESTDEF_TEST_STATUS_CENTOS6=NFS_TEST
7

8
cleanup;
9

10
## Start and create a volume
11
TEST glusterd
12
TEST pidof glusterd
13

14
TEST $CLI volume info;
15
TEST $CLI volume create $V0  $H0:$B0/$V0
16
TEST $CLI volume set $V0 nfs.disable false
17
TEST $CLI volume start $V0;
18

19
## Wait for volume to register with rpc.mountd
20
EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available;
21

22
## Mount NFS
23
TEST mount_nfs $H0:/$V0 $N0 nolock;
24

25
mkdir $N0/dir1;
26
mkdir $N0/dir2;
27
pushd $N0/ ;
28

29
##link created using relative path
30
ln -s dir1 symlink1;
31

32
##relative path contains ".."
33
ln -s ../dir1 dir2/symlink2;
34

35
##link created using absolute path
36
ln -s $N0/dir1 symlink3;
37

38
##link pointing to another symlinks
39
ln -s symlink1 symlink4
40
ln -s symlink3 symlink5
41

42
##dead links
43
ln -s does/not/exist symlink6
44

45
##link which contains ".." points out of glusterfs
46
ln -s ../../ symlink7
47

48
##links pointing to unauthorized area
49
ln -s .glusterfs symlink8
50

51
popd ;
52

53
##Umount the volume
54
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
55

56
## Mount and umount NFS via directory
57
TEST mount_nfs $H0:/$V0/dir1 $N0 nolock;
58
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
59

60
## Mount and umount NFS via symlink1
61
TEST mount_nfs $H0:/$V0/symlink1 $N0 nolock;
62
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
63

64
## Mount and umount NFS via symlink2
65
TEST  mount_nfs $H0:/$V0/dir2/symlink2 $N0 nolock;
66
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
67

68
## Mount NFS via symlink3 should fail
69
TEST ! mount_nfs $H0:/$V0/symlink3 $N0 nolock;
70

71
## Mount and umount NFS via symlink4
72
TEST  mount_nfs $H0:/$V0/symlink4 $N0 nolock;
73
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
74

75
## Mount NFS via symlink5 should fail
76
TEST ! mount_nfs $H0:/$V0/symlink5 $N0 nolock;
77

78
## Mount NFS via symlink6 should fail
79
TEST ! mount_nfs $H0:/$V0/symlink6 $N0 nolock;
80

81
## Mount NFS via symlink7 should fail
82
TEST ! mount_nfs $H0:/$V0/symlink7 $N0 nolock;
83

84
## Mount NFS via symlink8 should fail
85
TEST ! mount_nfs $H0:/$V0/symlink8 $N0 nolock;
86

87
##Similar check for udp mount
88
$CLI volume stop $V0
89
TEST $CLI volume set $V0 nfs.mount-udp on
90
$CLI volume start $V0
91

92
## Wait for volume to register with rpc.mountd
93
EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available;
94

95
## Mount and umount NFS via directory
96
TEST mount_nfs $H0:/$V0/dir1 $N0 nolock,mountproto=udp,proto=tcp;
97
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
98

99
## Mount and umount NFS via symlink1
100
TEST mount_nfs $H0:/$V0/symlink1 $N0 nolock,mountproto=udp,proto=tcp;
101
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
102

103
## Mount and umount NFS via symlink2
104
TEST  mount_nfs $H0:/$V0/dir2/symlink2 $N0 nolock,mountproto=udp,proto=tcp;
105
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
106

107
## Mount NFS via symlink3 should fail
108
TEST ! mount_nfs $H0:/$V0/symlink3 $N0 nolock,mountproto=udp,proto=tcp;
109

110
## Mount and umount NFS via symlink4
111
TEST  mount_nfs $H0:/$V0/symlink4 $N0 nolock,mountproto=udp,proto=tcp;
112
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
113

114
## Mount NFS via symlink5 should fail
115
TEST ! mount_nfs $H0:/$V0/symlink5 $N0 nolock,mountproto=udp,proto=tcp;
116

117
## Mount NFS via symlink6 should fail
118
TEST ! mount_nfs $H0:/$V0/symlink6 $N0 nolock,mountproto=udp,proto=tcp;
119

120
##symlink7 is not check here, because in udp mount ../../ resolves into root '/'
121

122
## Mount NFS via symlink8 should fail
123
TEST ! mount_nfs $H0:/$V0/symlink8 $N0 nolock,mountproto=udp,proto=tcp;
124

125
rm -rf $H0:$B0/
126
cleanup;
127

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

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

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

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