Bug 1175745

Summary: AFR + Snapshot : Read operation on file in split-brain is successful in USS
Product: [Community] GlusterFS Reporter: Vijaikumar Mallikarjuna <vmallika>
Component: coreAssignee: bugs <bugs>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 3.6.1CC: ashah, bugs, pkarampu, rjoseph, smohan
Target Milestone: ---Keywords: Patch, Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1171615 Environment:
Last Closed: 2016-08-23 12:32:39 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: 1171615    
Bug Blocks:    

Comment 1 Anand Avati 2014-12-26 05:28:02 UTC
REVIEW: http://review.gluster.org/9343 (gfapi: new inode created in glfs_resolve_component even if inode is in inode table) posted (#1) for review on release-3.6 by Sachin Pandit (spandit)

Comment 2 Anand Avati 2015-01-07 14:21:03 UTC
REVIEW: http://review.gluster.org/9343 (gfapi: new inode created in glfs_resolve_component even if inode is in inode table.) posted (#3) for review on release-3.6 by Sachin Pandit (spandit)

Comment 4 Pranith Kumar K 2016-08-23 12:32:39 UTC
commit 6b83a658ede66ebbb0983f1e4a326fd12cc91c34
Author: Rajesh Joseph <rjoseph>
Date:   Mon Dec 8 14:25:22 2014 +0530

    gfapi: new inode created in glfs_resolve_component even if inode is in inode table
    
    problem: USS allows split-brain file to be accessed while main volume
             gives I/O error.
    
    cause:
            AFR detects split-brain on lookup. It stores this information in
            inode context. open and readv fop checks this flag from inode context.
            open and readv fop fails if split-brain flag is set for the file.
    
            USS uses gfapi to access snapshot volume. During open call
            gfapi internally calls glfs_resolve_component. glfs_resolve_component
            generates a new inode even if inode is present for the file.
            Because of which afr_lookup acts on a new inode which does not
            contain the split-brain flag.
    
    Bug: 1171615
    
    Change-Id: I1b4fddf4bd3c734a319ecfae804a3439866d157c
    Signed-off-by: Rajesh Joseph <rjoseph>
    Reviewed-on: http://review.gluster.org/9253
    Reviewed-by: Vijaikumar Mallikarjuna <vmallika>
    Reviewed-by: Raghavendra Talur <rtalur>
    Reviewed-by: Poornima G <pgurusid>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Niels de Vos <ndevos>