Bug 1477169

Summary: AFR entry self heal removes a directory's .glusterfs symlink.
Product: [Community] GlusterFS Reporter: Ravishankar N <ravishankar>
Component: posixAssignee: Ravishankar N <ravishankar>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.13.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1479118 1491966 (view as bug list) Environment:
Last Closed: 2017-12-08 17:36:32 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1479118, 1491966    

Description Ravishankar N 2017-08-01 12:00:52 UTC
Description of problem:
$subject

How reproducible:
100%

Steps to Reproduce:
-Create 1x2 replica, fuse mount it
-mkdir fuse_mount/d1
-mkdir fuse_mount/d1/dir
-mkdir fuse_mount/d2
-kill one brick and rename the dir: `mv fuse_mount/d1/dir use_mount/d2`
-Bring all bricks up and trigger heal.

Actual results:
fuse_mount/d2/dir won't have any gfid symlink.

Additional info:
For replica 3 volume, the heal won't even complete, see the .t attached.

Comment 1 Worker Ant 2017-08-01 12:06:07 UTC
REVIEW: https://review.gluster.org/17945 (posix: add sanity checks for removing the gfid symlink for directories) posted (#1) for review on master by Ravishankar N (ravishankar)

Comment 2 Worker Ant 2017-08-02 14:59:12 UTC
REVIEW: https://review.gluster.org/17945 (posix: add sanity checks for removing the gfid symlink for directories) posted (#2) for review on master by Ravishankar N (ravishankar)

Comment 3 Worker Ant 2017-08-04 15:54:05 UTC
COMMIT: https://review.gluster.org/17945 committed in master by Jeff Darcy (jeff.us) 
------
commit 42c057a6d1a03dd2825a278393acb15d52220c8d
Author: Ravishankar N <ravishankar>
Date:   Mon Jul 31 23:38:20 2017 +0530

    posix: add sanity checks for removing the gfid symlink for directories
    
    ...during mkdir and rmdir. Otherwise, during entry self-heal, the
    directory could be left out without a .glusterfs symlink causing fops like
    opendir, readdir to fail.  The only chance the missing symlink will be
    created is when a fresh lookup comes on it.
    
    Change-Id: I2e1cf1bce8962ea80187edd8f6d73e0a09cf9f8e
    BUG: 1477169
    Signed-off-by: Ravishankar N <ravishankar>
    Reviewed-on: https://review.gluster.org/17945
    Smoke: Gluster Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Raghavendra Bhat <raghavendra>

Comment 4 Shyamsundar 2017-12-08 17:36:32 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.13.0, please open a new bug report.

glusterfs-3.13.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://lists.gluster.org/pipermail/announce/2017-December/000087.html
[2] https://www.gluster.org/pipermail/gluster-users/