Bug 1305277

Summary: [Tier]: Endup in multiple entries of same file on client after rename which had a hardlinks
Product: [Community] GlusterFS Reporter: Nithya Balachandran <nbalacha>
Component: tieringAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact: bugs <bugs>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, dlambrig, nbalacha, nchilaka, rhinduja, rhs-bugs
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1305172
: 1311836 (view as bug list) Environment:
Last Closed: 2016-06-16 13:57:06 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: 1305172    
Bug Blocks: 1282710, 1311836    

Comment 1 Vijay Bellur 2016-02-06 15:54:17 UTC
REVIEW: http://review.gluster.org/13391 (cluster/tier: Create linkfiles to hardlinks correctly) posted (#1) for review on master by N Balachandran (nbalacha)

Comment 2 Nithya Balachandran 2016-02-06 16:04:25 UTC
Steps to reproduce the issue:

Create a tier volume with pure distribute hot and cold tiers of 4 bricks each.
FUSE mount the volume

Run the following commands (the file will be created on the hot tier):

Issue 1 - file not visible on the mount
---------------------------------------
[root@nb-rhs3-srv1 hardlinks]# touch file2; ln file2 hfile2; 
[root@nb-rhs3-srv1 hardlinks]# mv hfile2 nhfile2
[root@nb-rhs3-srv1 hardlinks]# l
total 0
-rw-r--r-- 2 root root 0 Feb  6 15:11 nhfile2



Issue 2 - file listed twice on the mount
---------------------------------------- 
[root@nb-rhs3-srv1 hardlinks]# touch file2; ln file2 hfile2; mv file2 nfile2 ; 
[root@nb-rhs3-srv1 hardlinks]# l
total 0
-rw-r--r-- 2 root root 0 Feb  6 16:13 hfile2
-rw-r--r-- 2 root root 0 Feb  6 16:13 nfile2
-rw-r--r-- 2 root root 0 Feb  6 16:13 nfile2   <-- duplicate listing

Comment 3 Vijay Bellur 2016-02-07 07:07:52 UTC
REVIEW: http://review.gluster.org/13391 (cluster/tier: Create linkfiles to hardlinks correctly) posted (#2) for review on master by N Balachandran (nbalacha)

Comment 4 Vijay Bellur 2016-02-07 17:13:44 UTC
COMMIT: http://review.gluster.org/13391 committed in master by Dan Lambright (dlambrig) 
------
commit eb362c74db84d95aac07febf0d888bd98b3fb2b9
Author: N Balachandran <nbalacha>
Date:   Sat Feb 6 21:09:29 2016 +0530

    cluster/tier: Create linkfiles to hardlinks correctly
    
    There is a bug in the way hardlinks are handled in tiered volumes. Ideally, the tier linkto files on the cold tier to files that are hardlinks to each other on the hot tier, should themselves be hardlinks of each other. As they are not, they end up being files with the same gfid but different names for the cold tier dht, and end up overwriting the cached-subvol information stored in the dht inode-ctx.
    
    Change-Id: Ic658a316836e6a1729cfea848b7d212674b0edd2
    BUG: 1305277
    Signed-off-by: N Balachandran <nbalacha>
    Reviewed-on: http://review.gluster.org/13391
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Dan Lambright <dlambrig>
    Tested-by: Dan Lambright <dlambrig>

Comment 5 Niels de Vos 2016-06-16 13:57:06 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.8.0, please open a new bug report.

glusterfs-3.8.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://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user