Bug 979910 - "resolve" linked inodes which have not been looked up
Summary: "resolve" linked inodes which have not been looked up
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: fuse
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Csaba Henk
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 987755
TreeView+ depends on / blocked
 
Reported: 2013-07-01 07:02 UTC by Raghavendra G
Modified: 2014-04-17 13:13 UTC (History)
1 user (show)

Fixed In Version: glusterfs-3.4.3
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 987755 (view as bug list)
Environment:
Last Closed: 2014-04-17 13:13:14 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Raghavendra G 2013-07-01 07:02:14 UTC
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:

Comment 1 Anand Avati 2013-07-01 07:03:33 UTC
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)

Comment 2 Anand Avati 2013-07-02 05:03:39 UTC
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)

Comment 3 Anand Avati 2013-07-23 11:19:38 UTC
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)

Comment 4 Anand Avati 2013-07-24 01:59:48 UTC
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)

Comment 5 Anand Avati 2013-07-24 02:02:28 UTC
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)

Comment 6 Anand Avati 2013-07-24 02:06:23 UTC
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)

Comment 7 Anand Avati 2013-07-24 02:11:26 UTC
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)

Comment 8 Anand Avati 2013-07-24 02:18:11 UTC
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)

Comment 9 Anand Avati 2013-07-26 06:33:19 UTC
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)

Comment 10 Anand Avati 2013-07-30 11:37:48 UTC
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)

Comment 11 Anand Avati 2013-07-31 04:40:21 UTC
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)

Comment 12 Anand Avati 2013-07-31 08:29:16 UTC
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)

Comment 13 Anand Avati 2013-07-31 08:41:23 UTC
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)

Comment 14 Anand Avati 2013-07-31 08:51:08 UTC
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)

Comment 15 Anand Avati 2013-07-31 10:29:19 UTC
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)

Comment 16 Anand Avati 2013-08-15 05:54:08 UTC
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)

Comment 17 Anand Avati 2013-08-20 17:02:31 UTC
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)

Comment 18 Anand Avati 2013-08-20 17:17:50 UTC
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)

Comment 19 Anand Avati 2013-08-23 06:37:28 UTC
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)

Comment 20 Anand Avati 2013-08-23 06:58:42 UTC
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)

Comment 21 Anand Avati 2013-08-23 19:10:39 UTC
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>

Comment 22 Anand Avati 2013-09-05 10:36:59 UTC
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)

Comment 23 Anand Avati 2013-09-05 15:09:08 UTC
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)

Comment 24 Anand Avati 2013-09-06 04:23:17 UTC
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)

Comment 25 Anand Avati 2013-09-06 07:39:18 UTC
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)

Comment 26 Anand Avati 2013-09-07 14:57:19 UTC
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)

Comment 27 Anand Avati 2013-09-10 00:19:53 UTC
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

Comment 28 Anand Avati 2013-09-16 22:41:52 UTC
REVIEW: http://review.gluster.org/5932 (mount/fuse: Implement forget in cbks for fuse.) posted (#2) for review on master by Anand Avati (avati)

Comment 29 Anand Avati 2013-09-16 22:42:34 UTC
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>

Comment 30 Anand Avati 2013-09-19 17:16:27 UTC
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)

Comment 31 Anand Avati 2013-09-19 21:06:14 UTC
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>

Comment 32 Niels de Vos 2014-04-17 13:13:14 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.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


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