Description of problem: with readdirplus support, kernel may not send lookup before a path based fop. Though readdirplus of each xlators do some things done in lookup, its not complete enough to replace a lookup. Hence its necessary that a lookup should be sent before we go ahead with path based fop. Version-Release number of selected component (if applicable): mainline How reproducible: consistently Steps to Reproduce: conifiguration: Two node replicate, fuse with readdirplus support (RHEL 6.4) 1. mount a glusterfs volume with existing data. 2. start copying from glusterfs mountpoint (it doesn't matter whether destination is glusterfs or not). 3. kill first (0th) brick of afr. Actual results: cp fails with ENOTCONN errors Expected results: cp shouldn't fail since 2nd brick is up and running. Additional info:
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#3) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#4) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#5) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#6) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#7) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#8) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#9) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#10) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#11) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#12) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: "resolve" linked inodes which have not been looked up.) posted (#13) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#14) for review on master by Anand Avati (avati)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#15) for review on master by Anand Avati (avati)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#16) for review on master by Anand Avati (avati)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#17) for review on master by Anand Avati (avati)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#18) for review on master by Raghavendra G (rgowdapp)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#19) for review on master by Anand Avati (avati)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#20) for review on master by Anand Avati (avati)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#21) for review on master by Anand Avati (avati)
REVIEW: http://review.gluster.org/5267 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#22) for review on master by Anand Avati (avati)
COMMIT: http://review.gluster.org/5267 committed in master by Anand Avati (avati) ------ commit 2991503d014f634da5cd10bcb851e986a3dcd5c2 Author: Anand Avati <avati> Date: Mon Aug 12 09:41:06 2013 -0700 mount/fuse: perform lookup() on inodes linked through readdirplus Some xlators still require lookup() fop to be sent for proper working. This patch remembers inodes which have been linked through readdiprlus and makes the resolver send lookups on them. Change-Id: Ibe8a04a659539d90dfc794521b51bf2bda017a0b BUG: 979910 Signed-off-by: Anand Avati <avati> Reviewed-on: http://review.gluster.org/5267 Reviewed-by: Amar Tumballi <amarts> Tested-by: Gluster Build System <jenkins.com>
REVIEW: http://review.gluster.org/5806 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#1) for review on release-3.4 by Vijay Bellur (vbellur)
REVIEW: http://review.gluster.org/5806 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#2) for review on release-3.4 by Vijay Bellur (vbellur)
REVIEW: http://review.gluster.org/5806 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#3) for review on release-3.4 by Vijay Bellur (vbellur)
REVIEW: http://review.gluster.org/5806 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#4) for review on release-3.4 by Vijay Bellur (vbellur)
REVIEW: http://review.gluster.org/5806 (mount/fuse: perform lookup() on inodes linked through readdirplus) posted (#5) for review on release-3.4 by Vijay Bellur (vbellur)
COMMIT: http://review.gluster.org/5806 committed in release-3.4 by Anand Avati (avati) ------ commit 64c84723064ed9ef9f2a7755d3afffd1ecf08af4 Author: Anand Avati <avati> Date: Mon Aug 12 09:41:06 2013 -0700 mount/fuse: perform lookup() on inodes linked through readdirplus Some xlators still require lookup() fop to be sent for proper working. This patch remembers inodes which have been linked through readdiprlus and makes the resolver send lookups on them. Also, introduce and use context count for inode table. Change-Id: Ibe8a04a659539d90dfc794521b51bf2bda017a0b BUG: 979910 Signed-off-by: Anand Avati <avati> Reviewed-on: http://review.gluster.org/5267 Reviewed-by: Amar Tumballi <amarts> Tested-by: Gluster Build System <jenkins.com> Reviewed-on: http://review.gluster.org/5806
REVIEW: http://review.gluster.org/5932 (mount/fuse: Implement forget in cbks for fuse.) posted (#2) for review on master by Anand Avati (avati)
COMMIT: http://review.gluster.org/5932 committed in master by Anand Avati (avati) ------ commit 58423e6f14c7e35af97bb8abb5f61a7e719a02ce Author: Vijay Bellur <vbellur> Date: Mon Sep 16 11:41:32 2013 +0530 mount/fuse: Implement forget in cbks for fuse. With the introduction of inode_ctx_set in fuse as part of 2991503d014, forget cbk gets called for fuse xlator. Though nothing needs to be done inf forget_cbk, excessive log messages of the following kind are observed: [2013-09-16 06:09:50.758063] W [defaults.c:1331:default_forget] (-->/usr/local/lib/glusterfs/3git/xlator/mount/fuse.so(+0xa1f2) [0x7f51432781f2] (-->/usr/local/lib/libglusterfs.so.0(inode_unref+0x3c) [0x7f5144e5 816c] (-->/usr/local/lib/libglusterfs.so.0(+0x2d061) [0x7f5144e58061]))) 0-fuse: xlator does not implement forget_cbk This patch prevents such log messages from being seen. Signed-off-by: Vijay Bellur <vbellur> BUG: 979910 Change-Id: Ie5874138f46822b10ff4213bd1134d78330ec460 Reviewed-on: http://review.gluster.org/5932 Reviewed-by: Anand Avati <avati> Tested-by: Anand Avati <avati>
REVIEW: http://review.gluster.org/5975 (mount/fuse: Implement forget in cbks for fuse.) posted (#1) for review on release-3.4 by Vijay Bellur (vbellur)
COMMIT: http://review.gluster.org/5975 committed in release-3.4 by Anand Avati (avati) ------ commit 56e8bc6464d14ceaa42649dea1f5a4abef064668 Author: Vijay Bellur <vbellur> Date: Mon Sep 16 11:41:32 2013 +0530 mount/fuse: Implement forget in cbks for fuse. With the introduction of inode_ctx_set in fuse as part of 2991503d014, forget cbk gets called for fuse xlator. Though nothing needs to be done inf forget_cbk, excessive log messages of the following kind are observed: [2013-09-16 06:09:50.758063] W [defaults.c:1331:default_forget] (-->/usr/local/lib/glusterfs/3git/xlator/mount/fuse.so(+0xa1f2) [0x7f51432781f2] (-->/usr/local/lib/libglusterfs.so.0(inode_unref+0x3c) [0x7f5144e5 816c] (-->/usr/local/lib/libglusterfs.so.0(+0x2d061) [0x7f5144e58061]))) 0-fuse: xlator does not implement forget_cbk This patch prevents such log messages from being seen. Signed-off-by: Vijay Bellur <vbellur> BUG: 979910 Change-Id: Ie5874138f46822b10ff4213bd1134d78330ec460 Reviewed-on: http://review.gluster.org/5932 Reviewed-by: Anand Avati <avati> Tested-by: Anand Avati <avati> Reviewed-on: http://review.gluster.org/5975 Tested-by: Gluster Build System <jenkins.com>
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.4.3, please reopen this bug report. glusterfs-3.4.3 has been announced on the Gluster Developers mailinglist [1], packages for several distributions should already be or become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. The fix for this bug likely to be included in all future GlusterFS releases i.e. release > 3.4.3. In the same line the recent release i.e. glusterfs-3.5.0 [3] likely to have the fix. You can verify this by reading the comments in this bug report and checking for comments mentioning "committed in release-3.5". [1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/5978 [2] http://news.gmane.org/gmane.comp.file-systems.gluster.user [3] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137