Bug 1492782

Summary: self-heal daemon stuck
Product: Red Hat Gluster Storage Reporter: Raghavendra Bhat <rabhat>
Component: replicateAssignee: Ravishankar N <ravishankar>
Status: CLOSED ERRATA QA Contact: Vijay Avuthu <vavuthu>
Severity: unspecified Docs Contact:
Priority: high    
Version: rhgs-3.1CC: olim, ravishankar, rhinduja, rhs-bugs, sheggodu, storage-qa-internal
Target Milestone: ---   
Target Release: RHGS 3.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: rebase
Fixed In Version: glusterfs-3.12.2-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-04 06:36:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1493415, 1499202    
Bug Blocks: 1503135    

Comment 12 Vijay Avuthu 2018-07-26 08:40:31 UTC
Update:
=========

Build Used: glusterfs-3.12.2-14.el7rhgs.x86_64

Verified below scenarios.

Scenario 1:

1) Create 1 * 3 volume and start
2) Disable self-heal-daemon 
3) Create file with data named f1 and empty file named f2
4) get the gfid of f2 from any of the bricks
5) remove gfid and .glusterfs hardlink from brick0 for f2 
6) Do name lookup from client 
7) gfid and .glusterfs hardlink should be created successfully

> Before name look

# getfattr -d -m . -e hex /bricks/brick1/b0/f2
getfattr: Removing leading '/' from absolute path names
# file: bricks/brick1/b0/f2
security.selinux=0x73797374656d5f753a6f626a6563745f723a676c7573746572645f627269636b5f743a733000
trusted.gfid2path.0e7737705d2193e8=0x30303030303030302d303030302d303030302d303030302d3030303030303030303030312f6632
#

> After name lookup

# getfattr -d -m . -e hex /bricks/brick1/b0/f2
getfattr: Removing leading '/' from absolute path names
# file: bricks/brick1/b0/f2
security.selinux=0x73797374656d5f753a6f626a6563745f723a676c7573746572645f627269636b5f743a733000
trusted.gfid=0x73ddf5fd1d89431c9ccc03a927c1c85c
trusted.gfid2path.0e7737705d2193e8=0x30303030303030302d303030302d303030302d303030302d3030303030303030303030312f6632
#

Scenario 2:

1) Create 1 * 3 volume and start
2) Disable self-heal-daemon 
3) create dir and touch file inside dir ( /dir/f1 )
4) get the gfid of f1 from any of the bricks
5) remove gfid and .glusterfs hardlink from brick0 for file f1
6) set the pending entry xattr on parent dir on brick1 and brick2
7) add gfid entry as hardlink to the base entry on brick1 and brick2 
8) enable self-heal-daemon
9) trigger volume heal and wait for heal to complete
10) gfid and .glusterfs hardlink should be created successfully


Changing status to Verified

Comment 14 errata-xmlrpc 2018-09-04 06:36:24 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:2607