glusterfs
1#!/bin/bash
2
3. $(dirname $0)/../../include.rc
4. $(dirname $0)/../../volume.rc
5
6#Test cases to perform gfid-self-heal
7#file 'a' should be assigned a fresh gfid
8#file 'b' should be healed with gfid1 from brick1
9#file 'c' should be healed with gfid2 from brick2
10
11gfid1="0x8428b7193a764bf8be8046fb860b8993"
12gfid2="0x85ad91afa2f74694bf52c3326d048209"
13
14cleanup;
15TEST glusterd
16TEST pidof glusterd
17TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}0 $H0:$B0/${V0}1
18TEST $CLI volume start $V0
19TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 --direct-io-mode=enable
20touch $B0/${V0}0/a $B0/${V0}1/a
21touch $B0/${V0}0/b $B0/${V0}1/b
22touch $B0/${V0}0/c $B0/${V0}1/c
23
24TEST setfattr -n trusted.gfid -v $gfid1 $B0/${V0}0/b
25TEST setfattr -n trusted.gfid -v $gfid2 $B0/${V0}1/c
26
27sleep 2
28
29TEST stat $M0/a
30TEST stat $M0/b
31TEST stat $M0/c
32
33TEST gf_get_gfid_xattr $B0/${V0}0/a
34TEST gf_get_gfid_xattr $B0/${V0}1/a
35
36EXPECT "$gfid1" gf_get_gfid_xattr $B0/${V0}0/b
37EXPECT "$gfid1" gf_get_gfid_xattr $B0/${V0}1/b
38
39EXPECT "$gfid2" gf_get_gfid_xattr $B0/${V0}0/c
40EXPECT "$gfid2" gf_get_gfid_xattr $B0/${V0}1/c
41
42cleanup;
43