Bug 1593536 - ctime: Self heal of symlink is failing on EC subvolume
Summary: ctime: Self heal of symlink is failing on EC subvolume
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: posix
Version: 4.1
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kotresh HR
QA Contact:
URL:
Whiteboard:
Depends On: 1592509
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-06-21 03:40 UTC by Kotresh HR
Modified: 2019-04-23 10:10 UTC (History)
2 users (show)

Fixed In Version: glusterfs-4.1.2
Clone Of: 1592509
Environment:
Last Closed: 2018-07-30 18:57:21 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

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/


Note You need to log in before you can comment on or make changes to this bug.