summaryrefslogtreecommitdiffstats
path: root/tests/bugs/bug-1085330.t
blob: dafba21554036eff7a3e58cf600584398279f0af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash

. $(dirname $0)/../include.rc
. $(dirname $0)/../volume.rc

STR="1234567890"
volname="Vol"

cleanup;
TEST glusterd
TEST pidof glusterd
TEST $CLI volume info;


# Construct volname string such that its more than 256 characters
for i in {1..30}
do
    volname+=$STR
done
# Now $volname is more than 256 chars

TEST ! $CLI volume create $volname $H0:$B0/${volname}{1,2};

TEST $CLI volume info;

# Construct brick string such that its more than 256 characters
volname="Vol1234"
brick="brick"
for i in {1..30}
do
    brick+=$STR
done
# Now $brick1 is more than 256 chars

TEST ! $CLI volume create $volname $H0:$B0/$brick;

TEST $CLI volume info;

# Now try to create a volume with couple of bricks (strlen(volname) = 128 &
# strlen(brick1) = 128
# Command should still fail as strlen(volp path) > 256

volname="Volume-0"
brick="brick-00"
STR="12345678"

for i in {1..15}
do
    volname+=$STR
    brick+=$STR
done
TEST ! $CLI volume create $volname $H0:$B0/$brick;

TEST $CLI volume info;

# test case with brick path as 255 and a trailing "/"
brick=""
STR1="12345678"
volname="vol"

for i in {1..31}
do
    brick+=$STR1
done
brick+="123456/"

echo $brick | wc -c
# Now $brick is exactly 255 chars, but at end a trailing space
# This will still fail as volfpath exceeds more than _POSIX_MAX chars

TEST ! $CLI volume create $volname $H0:$B0/$brick;

TEST $CLI volume info;

# Positive test case
TEST $CLI volume create $V0 $H0:$B0/${V0}{1,2};

TEST $CLI volume info;

cleanup;