Bug 1431908 - Enabling parallel-readdir causes dht linkto files to be visible on the mount,
Summary: Enabling parallel-readdir causes dht linkto files to be visible on the mount,
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: unclassified
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Poornima G
QA Contact:
URL:
Whiteboard: dht-parallel-readdirp
Depends On:
Blocks: 1435942 1460898
TreeView+ depends on / blocked
 
Reported: 2017-03-14 01:05 UTC by Ravishankar N
Modified: 2017-10-26 14:36 UTC (History)
4 users (show)

Fixed In Version: glusterfs-3.12.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1435942 1460898 (view as bug list)
Environment:
Last Closed: 2017-09-05 17:26:58 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Ravishankar N 2017-03-14 01:05:33 UTC
Description of problem:
When parallel readdir is enabled, readdir-ahead is loaded below DHT and does a readdir and fetches entries without any associated dict with it and caches it. Consequently readdirp from dht is served from this cache and the check_is_linkfile() fails in dht_readdirp_cbk() thereby not filtering it.

Version-Release number of selected component (if applicable):
master, 3.10

How reproducible:
Always

Steps to Reproduce:
1. Create a dist volume, fuse mount it, create  a file
2. Rename the file so that it hashes to a different brick, creating a linkto file
3. Enable performance,parallel-readdir
4. Do ls from the mount ,it will show both the file and the T file

Actual results:
As above

Expected results:
Should not display the linkto file.

Comment 1 Ravishankar N 2017-03-14 01:07:39 UTC
Reported by a user at http://lists.gluster.org/pipermail/gluster-users/2017-March/030254.html

Comment 2 Worker Ant 2017-03-15 05:39:54 UTC
REVIEW: https://review.gluster.org/16902 (dht: The xattrs sent in readdirp should be sent in opendir aswell) posted (#1) for review on master by Poornima G (pgurusid)

Comment 3 Worker Ant 2017-03-15 07:02:25 UTC
REVIEW: https://review.gluster.org/16902 (dht: The xattrs sent in readdirp should be sent in opendir aswell) posted (#2) for review on master by Poornima G (pgurusid)

Comment 4 Worker Ant 2017-03-28 06:50:04 UTC
REVIEW: https://review.gluster.org/16902 (dht: The xattrs sent in readdirp should be sent in opendir aswell) posted (#3) for review on master by Poornima G (pgurusid)

Comment 5 Worker Ant 2017-04-05 07:29:11 UTC
REVIEW: https://review.gluster.org/16902 (dht: The xattrs sent in readdirp should be sent in opendir aswell) posted (#4) for review on master by Poornima G (pgurusid)

Comment 6 Worker Ant 2017-04-05 10:28:16 UTC
REVIEW: https://review.gluster.org/16902 (dht: The xattrs sent in readdirp should be sent in opendir aswell) posted (#5) for review on master by Poornima G (pgurusid)

Comment 7 Worker Ant 2017-04-06 04:04:06 UTC
COMMIT: https://review.gluster.org/16902 committed in master by Raghavendra G (rgowdapp) 
------
commit 0f71338e1d7c0b70f4fe3b19c68612fe730d9de2
Author: Poornima G <pgurusid>
Date:   Wed Mar 15 10:26:28 2017 +0530

    dht: The xattrs sent in readdirp should be sent in opendir aswell
    
    As readdir-ahead can be loaded as a child of dht, dht has to specify
    the xattrs it is intrested in, as part of opendir call itself.
    
    Change-Id: I012ef96cc143b0cef942df78aa7150d85ec38606
    BUG: 1431908
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: https://review.gluster.org/16902
    Smoke: Gluster Build System <jenkins.org>
    Reviewed-by: Raghavendra G <rgowdapp>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>

Comment 8 Worker Ant 2017-04-13 11:17:01 UTC
REVIEW: https://review.gluster.org/17057 (dht: Add missing braces in dht_opendir) posted (#2) for review on master by Poornima G (pgurusid)

Comment 9 Worker Ant 2017-04-13 15:57:47 UTC
COMMIT: https://review.gluster.org/17057 committed in master by Vijay Bellur (vbellur) 
------
commit af218797fa98f2f75594fc9ae595f184682f1a0d
Author: Poornima G <pgurusid>
Date:   Thu Apr 13 16:44:44 2017 +0530

    dht: Add missing braces in dht_opendir
    
    Change-Id: I6adce98f52e17953f501bc590ff7189cceac3c31
    BUG: 1431908
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: https://review.gluster.org/17057
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 10 Shyamsundar 2017-05-30 18:47:11 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.11.0, please open a new bug report.

glusterfs-3.11.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/2017-May/000073.html
[2] https://www.gluster.org/pipermail/gluster-users/

Comment 11 Worker Ant 2017-06-12 05:42:37 UTC
REVIEW: https://review.gluster.org/17504 (readdir-ahead: Fix duplicate listing and cache size calculation) posted (#1) for review on master by Poornima G (pgurusid)

Comment 12 Worker Ant 2017-06-12 10:18:28 UTC
COMMIT: https://review.gluster.org/17504 committed in master by Raghavendra G (rgowdapp) 
------
commit e97c32ee9913969a726f8a8286cf714f907729d6
Author: Poornima G <pgurusid>
Date:   Mon Jun 12 10:59:04 2017 +0530

    readdir-ahead: Fix duplicate listing and cache size calculation
    
    Issue:
    If a opendir is followed by a closedir without readdir, though
    the prefetched entries were freed, the freed size was not accounted
    in priv->rda_cache_size. Thus the cache limit will exceed if there
    are multiple opendir followed by closedir.
    
    Fix:
    Fix the pric->rda_cache_size calculation. Also have removed the
    inode_ctx_size. Each perf xlator has its own cache limit that
    it works with. Also the inode_ctx size can change, if a forget/
    invalidate or any other factor triggers the inode_ctx size.
    
    Change-Id: I9707ec558076ce046e58a55989ec9513c70ea029
    BUG: 1431908
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: https://review.gluster.org/17504
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Raghavendra G <rgowdapp>

Comment 13 Shyamsundar 2017-09-05 17:26:58 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.12.0, please open a new bug report.

glusterfs-3.12.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/2017-September/000082.html
[2] https://www.gluster.org/pipermail/gluster-users/


Note You need to log in before you can comment on or make changes to this bug.