Bug 1567209

Summary: Geo-rep: faulty session due to OSError: [Errno 95] Operation not supported
Product: [Community] GlusterFS Reporter: Kotresh HR <khiremat>
Component: geo-replicationAssignee: Kotresh HR <khiremat>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: mainlineCC: amukherj, bkunal, csaba, mmuir, olim, rhinduja, rhs-bugs, storage-qa-internal
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: 1565399
: 1577845 (view as bug list) Environment:
Last Closed: 2018-06-20 18:04:29 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: 1565399, 1577845    

Comment 1 Kotresh HR 2018-04-13 15:02:16 UTC
Description:

geo-rep sessions ending up faulty due to the following errors:

ssh%3A%2F%2Froot%40171.179.248.2%3Agluster%3A%2F%2F127.0.0.1%3Aamm-remote.log:OSError: [Errno 95] Operation not supported: '.gfid/1d1cad0c-095b-4150-ac7e-734054cd12af'
ssh%3A%2F%2Froot%40171.179.248.2%3Agluster%3A%2F%2F127.0.0.1%3Aamm-remote.log:OSError: [Errno 95] Operation not supported: '.gfid/0218b459-0a04-4466-9afb-8f6eba78f442'

The gfid corresponds to symlink file and is pointing to current directory

symlink --> "."

Comment 2 Worker Ant 2018-04-13 15:07:28 UTC
REVIEW: https://review.gluster.org/19872 (geo-rep: Fix syncing of symlink) posted (#1) for review on master by Kotresh HR

Comment 3 Worker Ant 2018-04-16 02:33:57 UTC
COMMIT: https://review.gluster.org/19872 committed in master by "Kotresh HR" <khiremat> with a commit message- geo-rep: Fix syncing of symlink

Problem:
If symlink is created on master pointing
to current directory (e.g symlink -> ".") with
non root uid or gid, geo-rep worker crashes
with ENOTSUP.

Cause:
Geo-rep creates the symlink on slave and
fixes the uid and gid using chown cmd.
os.chown dereferences the symlink which is
pointing to ".gfid" which is not supported.
Note that geo-rep operates on aux-gfid-mount
(e.g. "/mnt/.gfid/<gfid-of-symlink-file>").

Solution:
The uid or gid change is acutally on symlink
file. So use os.lchown, i.e, don't deference.

BUG: 1567209
Change-Id: I63575fc589d71f987bef1d350c030987738c78ad
updates: bz#1567209
Signed-off-by: Kotresh HR <khiremat>

Comment 7 Worker Ant 2018-05-14 09:25:36 UTC
REVIEW: https://review.gluster.org/20017 (geo-rep: Fix syncing of symlink) posted (#1) for review on release-3.12 by Kotresh HR

Comment 8 Worker Ant 2018-05-14 10:58:09 UTC
REVISION POSTED: https://review.gluster.org/20017 (geo-rep: Fix syncing of symlink) posted (#3) for review on release-3.12 by Kotresh HR

Comment 9 Shyamsundar 2018-06-20 18:04:29 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/