Bug 1521045

Summary: Race in file creation while a brick is offline
Product: [Community] GlusterFS Reporter: Jeff Darcy <jeff>
Component: posixAssignee: bugs <bugs>
Status: CLOSED INSUFFICIENT_DATA QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: mainlineCC: atumball, bugs, pkarampu
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-22 06:26:06 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:

Description Jeff Darcy 2017-12-05 17:01:26 UTC
If a file is deleted while a brick is offline, and a file by the same
name is subsequently created once the brick has been brought back
online but not fully healed, the brick returns the old, pre-deletion
GFID for the file, This results in lack of consensus about the GFID,
which is bad, and usually manifests as EROFS.

Fix by making bricks honor the GFID requested by the server when
a file is created, even if there is a pre-existing one. This fixes
the race and has the additional benefit that any clients with the old
GFID will get ESTALE accessing the old file instead of silently
getting access to a file which differs fromthe one they thought they
were accessing.

Comment 1 Worker Ant 2017-12-05 17:02:39 UTC
REVIEW: https://review.gluster.org/16816 (storage/posix: Fix race in file creation when brick was offline during delete.) posted (#4) for review on master by Jeff Darcy

Comment 2 Pranith Kumar K 2018-10-22 06:26:06 UTC
Closing as per the discussion on https://review.gluster.org/16816