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.
Reported by a user at http://lists.gluster.org/pipermail/gluster-users/2017-March/030254.html
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)
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)
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)
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)
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)
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>
REVIEW: https://review.gluster.org/17057 (dht: Add missing braces in dht_opendir) posted (#2) for review on master by Poornima G (pgurusid)
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>
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/
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)
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>
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/