Bug 1584981

Summary: posix/ctime: EC self heal of directory is blocked with ctime feature enabled
Product: [Community] GlusterFS Reporter: Kotresh HR <khiremat>
Component: posixAssignee: Kotresh HR <khiremat>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-5.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1585894 (view as bug list) Environment:
Last Closed: 2018-10-23 15:10:44 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: 1585894    

Description Kotresh HR 2018-06-01 05:57:43 UTC
Description of problem:
EC self heal of directory is blocked with ctime feature enabled.
It's found out that trusted.glusterfs.mdata xattr's value is differnt
among the EC subvolume set. If that happens, it is expected EC can't
heal the xattr and hence it's blocked

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

How reproducible:
Most of the times

Steps to Reproduce:
Run following EC test case found in gluster repo.
1. prove -v ./tests/bugs/ec/bug-1547662.t


Actual results:
The test case fails most of the times 

Expected results:
The test case should always pass

Additional info:

Comment 1 Worker Ant 2018-06-01 06:09:28 UTC
REVIEW: https://review.gluster.org/20120 (posix/ctime: Fix fops racing in updating mtime/atime) posted (#1) for review on master by Kotresh HR

Comment 2 Worker Ant 2018-06-03 09:10:16 UTC
COMMIT: https://review.gluster.org/20120 committed in master by "Amar Tumballi" <amarts> with a commit message- posix/ctime: Fix fops racing in updating mtime/atime

In distributed systems, there could be races with fops
updating mtime/atime which could result in different
mtime/atime for same file. So updating them only if
time is greater than the existing makes sure, only
the highest time is retained. If the mtime/atime
update comes from the explicit utime syscall, it is
allowed to set to previous time.

Thanks Xavi for helping in rooting the issue.

fixes: bz#1584981
Change-Id: If1230a75b96d7f9a828795189fcc699049e7826e
Signed-off-by: Kotresh HR <khiremat>

Comment 3 Shyamsundar 2018-10-23 15:10:44 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-5.0, please open a new bug report.

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