Bug 1218863

Summary: `ls' on a directory which has files with mismatching gfid's does not list anything
Product: [Community] GlusterFS Reporter: Shruti Sampat <ssampat>
Component: replicateAssignee: Ravishankar N <ravishankar>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.7.0CC: bugs, gluster-bugs, ravishankar, rkavunga
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: glusterfs-3.7.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1221481 1223751 (view as bug list) Environment:
Last Closed: 2015-06-02 08:02:34 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: 1186580, 1221481, 1223751, 1230242    

Description Shruti Sampat 2015-05-06 05:35:19 UTC
Description of problem:
------------------------

Running `ls' a directory that has some files with mismatching gfid's on both bricks of a replica pair, does not list anything. All entries in the directory should be listed regardless of them being in split-brain.

Version-Release number of selected component (if applicable):
---------------------------------------------------------------
glusterfs-3.7.0alpha0-0.17.gited96153.el6.x86_64

How reproducible:
------------------
Always

Steps to Reproduce:
-------------------
1. On a distributed replicate volume (with self-heal-daemon turned off), bring down one brick in each replica pair and create a file on the mount point.
2. Bring all bricks up and then kill the other brick in each replica pair (different from the one that was brought down earlier)
3. Create a file with the same name on the mount point.
4. Run `ls' on the mount point.

Actual results:
----------------

`ls' does not list any entries.

Expected results:
------------------

`ls' should list all entries in the directory.

Additional info:

Comment 1 Anand Avati 2015-05-28 09:44:20 UTC
REVIEW: http://review.gluster.org/10962 (afr: allow readdir to proceed for directories in split-brain) posted (#1) for review on release-3.7 by Ravishankar N (ravishankar)

Comment 2 Anand Avati 2015-05-29 12:29:34 UTC
COMMIT: http://review.gluster.org/10962 committed in release-3.7 by Pranith Kumar Karampuri (pkarampu) 
------
commit 145f0ab3540fb922ecd109170a76c347c5dfad78
Author: Ravishankar N <ravishankar>
Date:   Thu May 28 15:10:57 2015 +0530

    afr: allow readdir to proceed for directories in split-brain
    
    Problem:
    afr_read_txn() bails out if read_subvol==-1. This meant that for
    directories that were in entry split-brain, FOPS like readdir, access,
    stat etc were not allowed.
    
    Fix:
    Except for getxattr, all other FOPS are wound on the first up child
    of afr.
    
    Change-Id: Iacec8fbb1e75c4d2094baa304f62331c81a6f670
    BUG: 1218863
    BUG:
    Signed-off-by: Ravishankar N <ravishankar>
    Reviewed-on: http://review.gluster.org/10776
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    Reviewed-by: Anuradha Talur <atalur>
    (cherry picked from commit 49b428433a03fcf709fdc8c08603b4cf02198e0a)
    Reviewed-on: http://review.gluster.org/10962
    Tested-by: NetBSD Build System
    Tested-by: Gluster Build System <jenkins.com>

Comment 3 Niels de Vos 2015-06-02 08:02:34 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-3.7.1, please reopen this bug report.

glusterfs-3.7.1 has been announced on the Gluster Packaging mailinglist [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://thread.gmane.org/gmane.comp.file-systems.gluster.packaging/1
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user