summaryrefslogtreecommitdiffstats
path: root/tests/bugs/bug-767585-gfid.t
blob: 49cf7423fa0aa7a36df6c42067dc344e66b5558e (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
#!/bin/bash

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

#Test cases to perform gfid-self-heal
#file 'a' should be assigned a fresh gfid
#file 'b' should be healed with gfid1 from brick1
#file 'c' should be healed with gfid2 from brick2

gfid1="0x8428b7193a764bf8be8046fb860b8993"
gfid2="0x85ad91afa2f74694bf52c3326d048209"

cleanup;
TEST glusterd
TEST pidof glusterd
TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}0 $H0:$B0/${V0}1
TEST $CLI volume start $V0
TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 --direct-io-mode=enable
touch $B0/${V0}0/a $B0/${V0}1/a
touch $B0/${V0}0/b $B0/${V0}1/b
touch $B0/${V0}0/c $B0/${V0}1/c

TEST setfattr -n trusted.gfid -v $gfid1 $B0/${V0}0/b
TEST setfattr -n trusted.gfid -v $gfid2 $B0/${V0}1/c

sleep 2

cd $M0
TEST ls -l a
TEST ls -l b
TEST ls -l c

TEST gf_get_gfid_xattr $B0/${V0}0/a
TEST gf_get_gfid_xattr $B0/${V0}1/a

EXPECT "$gfid1" gf_get_gfid_xattr $B0/${V0}0/b
EXPECT "$gfid1" gf_get_gfid_xattr $B0/${V0}1/b

EXPECT "$gfid2" gf_get_gfid_xattr $B0/${V0}0/c
EXPECT "$gfid2" gf_get_gfid_xattr $B0/${V0}1/c

cleanup;