Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1593536

Summary: ctime: Self heal of symlink is failing on EC subvolume
Product: [Community] GlusterFS Reporter: Kotresh HR <khiremat>
Component: posixAssignee: Kotresh HR <khiremat>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.1CC: bugs, nchilaka
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-4.1.2 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1592509 Environment:
Last Closed: 2018-07-30 18:57:21 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: 1592509    
Bug Blocks:    

Description Kotresh HR 2018-06-21 03:40:41 UTC
+++ This bug was initially created as a clone of Bug #1592509 +++

Description of problem:
With ctime feature enabled, self heal of symlink is failing

Version-Release number of selected component (if applicable):
mainline

How reproducible:
Always

Steps to Reproduce:
1. The testcase ./tests/bugs/heal-symlinks.t always fails


Actual results:
Self heal of symlink fails in EC volume

Expected results:
Self heal of symlink should not fail in EC volume

Additional info:

--- Additional comment from Worker Ant on 2018-06-18 13:50:45 EDT ---

REVIEW: https://review.gluster.org/20311 (ctime: Fix self heal of symlink in EC volume) posted (#1) for review on master by Kotresh HR

--- Additional comment from Worker Ant on 2018-06-20 02:52:09 EDT ---

COMMIT: https://review.gluster.org/20311 committed in master by "Amar Tumballi" <amarts> with a commit message- ctime: Fix self heal of symlink in EC volume

Since IEEE Std 1003.1-2001 does not require any
association of file times with symbolic links,
there is no requirement that file times be
updated by readlink() states [1].

stat on symlink file was generating a readlink
fop on one of the subvolumes of ec set which
in turn updates atime on that subvolume. This
causes mdata xattr to be different across ec
set and hence self heal fails. So based on [1],
atime is no longer updated by readlink fop.

[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/readlink.html

fixes: bz#1592509
Change-Id: I08bd3ca3bdb222bd18160b1aa58fc2f7630c8083
Signed-off-by: Kotresh HR <khiremat>

Comment 1 Worker Ant 2018-06-21 03:47:11 UTC
REVIEW: https://review.gluster.org/20341 (ctime: Fix self heal of symlink in EC volume) posted (#1) for review on release-4.1 by Kotresh HR

Comment 2 Worker Ant 2018-07-02 17:15:05 UTC
COMMIT: https://review.gluster.org/20341 committed in release-4.1 by "Shyamsundar Ranganathan" <srangana> with a commit message- ctime: Fix self heal of symlink in EC volume

Since IEEE Std 1003.1-2001 does not require any
association of file times with symbolic links,
there is no requirement that file times be
updated by readlink() states [1].

stat on symlink file was generating a readlink
fop on one of the subvolumes of ec set which
in turn updates atime on that subvolume. This
causes mdata xattr to be different across ec
set and hence self heal fails. So based on [1],
atime is no longer updated by readlink fop.

[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/readlink.html

Backport of:
  > Patch: https://review.gluster.org/#/c/20311/
  > BUG: 1592509
  > Change-Id: I08bd3ca3bdb222bd18160b1aa58fc2f7630c8083
  > Signed-off-by: Kotresh HR <khiremat>
  (cherry picked from commit c097a7894d458e33a41f6db6092677108ef30fec)

fixes: bz#1593536
Change-Id: I08bd3ca3bdb222bd18160b1aa58fc2f7630c8083
Signed-off-by: Kotresh HR <khiremat>
(cherry picked from commit c097a7894d458e33a41f6db6092677108ef30fec)

Comment 3 Shyamsundar 2018-07-30 18:57:21 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-4.1.2, please open a new bug report.

glusterfs-4.1.2 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] https://lists.gluster.org/pipermail/announce/2018-July/000106.html
[2] https://www.gluster.org/pipermail/gluster-users/