Bug 1583016

Summary: libgfapi: glfs init fails on afr volume with ctime feature enabled
Product: [Community] GlusterFS Reporter: Kotresh HR <khiremat>
Component: libgfapiAssignee: Kotresh HR <khiremat>
Status: CLOSED CURRENTRELEASE QA Contact: bugs <bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.1CC: bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-v4.1.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1582516 Environment:
Last Closed: 2018-06-20 18:07:14 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: 1582516    
Bug Blocks:    

Description Kotresh HR 2018-05-28 05:05:39 UTC
+++ This bug was initially created as a clone of Bug #1582516 +++

Description of problem:
With ctime feature enabled on afr volume libgfapi programs fail.
Basically glfs_init fails.

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

How reproducible:
Always

Steps to Reproduce:
1.  Create replicated gluster volume
2.  Write and run a libgfapi program to use the volume


Actual results:
libgfapi program fails on afr volume.

Expected results:
libgfapi program should not fail on afr volume.


Additional info:

--- Additional comment from Worker Ant on 2018-05-25 09:13:22 EDT ---

REVIEW: https://review.gluster.org/20086 (libgfapi: Fix lookup on root) posted (#1) for review on master by Kotresh HR

--- Additional comment from Worker Ant on 2018-05-28 00:57:49 EDT ---

COMMIT: https://review.gluster.org/20086 committed in master by "Amar Tumballi" <amarts> with a commit message- libgfapi: Fix lookup on root

Lookup on root was sending "/" as the path.
This will break the basename calculation in
loc_copy and hence lookup on root was failing
if the loc_copy was involved in the stack.

With ctime, a first lookup on root initiates
a metadata self heal because of ctime xattr
not being same on all afr subvolumes. This
results in loc_copy and hence the failure
of lookup.

Fix would be to send path with "." for the root.

fixes: bz#1582516
Change-Id: Iafe4b99f249a4f5034ad34c1d30590de0e35aa0d
Signed-off-by: Kotresh HR <khiremat>

Comment 1 Worker Ant 2018-05-28 05:08:44 UTC
REVIEW: https://review.gluster.org/20092 (libgfapi: Fix lookup on root) posted (#1) for review on release-4.1 by Kotresh HR

Comment 2 Worker Ant 2018-05-29 14:38:51 UTC
COMMIT: https://review.gluster.org/20092 committed in release-4.1 by "Shyamsundar Ranganathan" <srangana> with a commit message- libgfapi: Fix lookup on root

Lookup on root was sending "/" as the path.
This will break the basename calculation in
loc_copy and hence lookup on root was failing
if the loc_copy was involved in the stack.

With ctime, a first lookup on root initiates
a metadata self heal because of ctime xattr
not being same on all afr subvolumes. This
results in loc_copy and hence the failure
of lookup.

Fix would be to send path with "." for the root.

Backport of:
  > Patch: https://review.gluster.org/#/c/20086/
  > BUG: 1582516
  > Change-Id: Iafe4b99f249a4f5034ad34c1d30590de0e35aa0d
(cherry picked from commit 3d38e4e47f129bdb36c3fbbd481dabe4ba4413d6)


fixes: bz#1583016
Change-Id: Iafe4b99f249a4f5034ad34c1d30590de0e35aa0d
Signed-off-by: Kotresh HR <khiremat>

Comment 3 Shyamsundar 2018-06-20 18:07:14 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-v4.1.0, please open a new bug report.

glusterfs-v4.1.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/2018-June/000102.html
[2] https://www.gluster.org/pipermail/gluster-users/