Bug 1248669

Summary: all: Make all the xlator fops static to avoid incorrect symbol resolution
Product: [Community] GlusterFS Reporter: Soumya Koduri <skoduri>
Component: unclassifiedAssignee: Soumya Koduri <skoduri>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, kkeithle
Target Milestone: ---Keywords: Reopened, Triaged
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1256606 (view as bug list) Environment:
Last Closed: 2016-06-16 13:28:07 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: 1216951, 1256485, 1256606    

Description Soumya Koduri 2015-07-30 14:39:20 UTC
Description of problem:

As described in the bug1245636, we have encountered an issue where in the 'snapview-client' xlator lookup fop name 'svc_lookup' matches with one of the routines provided by libntirpc, used by NFS-Ganesha. Hence while using 'uss' feature over NFS-Ganesha, during dlopen() of the snapview-client xlator, as  'svc_lookup' is already loaded, 'xlator->fops->lookup' incorrectly refers to that symbol.

To avoid similar issues, it would be better and cleaner to mark all the xlator fops static. This bug is to track all the required changes.

Comment 1 Soumya Koduri 2015-07-31 07:07:59 UTC
*** Bug 1248470 has been marked as a duplicate of this bug. ***

Comment 2 Anand Avati 2015-07-31 09:02:54 UTC
REVIEW: http://review.gluster.org/11805 (snapshot: Make fops static for correct resolution of symbols) posted (#3) for review on master by soumya k (skoduri)

Comment 3 Anand Avati 2015-08-04 12:54:22 UTC
REVIEW: http://review.gluster.org/11814 (build: export minimum symbols from xlators for correct resolution) posted (#21) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 4 Anand Avati 2015-08-24 17:23:13 UTC
COMMIT: http://review.gluster.org/11805 committed in master by Niels de Vos (ndevos) 
------
commit d5e03b7f02f68b3a9aaccf586e1f6ed901224ba7
Author: Soumya Koduri <skoduri>
Date:   Thu Jul 30 16:37:45 2015 +0530

    snapshot: Make fops static for correct resolution of symbols
    
    Few of the snapshot fops (like 'svc_lookup') may not get resolved
    while using dynamic loading as there could be other libraries(like libntirpc)
    with same routine names. Making them static to resolve the same.
    
    Change-Id: I6577bf3705864f5583425c94427b4e1025a59bcd
    BUG: 1248669
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/11805
    Reviewed-by: Niels de Vos <ndevos>
    Tested-by: NetBSD Build System <jenkins.org>
    Reviewed-by: Rajesh Joseph <rjoseph>
    Tested-by: Gluster Build System <jenkins.com>

Comment 5 Vijay Bellur 2015-09-14 13:25:24 UTC
REVIEW: http://review.gluster.org/11814 (build: export minimum symbols from xlators for correct resolution) posted (#22) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 6 Vijay Bellur 2015-09-16 20:07:44 UTC
REVIEW: http://review.gluster.org/11814 (build: export minimum symbols from xlators for correct resolution) posted (#23) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 7 Vijay Bellur 2015-12-18 12:56:36 UTC
REVIEW: http://review.gluster.org/13003 (build: export minimum symbols from xlators for correct resolution) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 8 Vijay Bellur 2015-12-18 13:14:30 UTC
REVIEW: http://review.gluster.org/13003 (build: export minimum symbols from xlators for correct resolution) posted (#2) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 9 Vijay Bellur 2015-12-18 15:35:50 UTC
REVIEW: http://review.gluster.org/13003 (build: export minimum symbols from xlators for correct resolution) posted (#3) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 10 Vijay Bellur 2015-12-22 17:15:04 UTC
COMMIT: http://review.gluster.org/13003 committed in master by Niels de Vos (ndevos) 
------
commit e62c0fe19b113d42db5e0f80fa7cbb82f2f88190
Author: Kaleb S KEITHLEY <kkeithle>
Date:   Fri Dec 18 07:44:45 2015 -0500

    build: export minimum symbols from xlators for correct resolution
    
    Revisiting http://review.gluster.org/#/c/11814/, which unintentionally
    introduced warnings from libtool about the xlator .so names.
    
    According to [1], the -module option must appear in the Makefile.am
    file(s); if -module is defined in a macro, e.g. in configure(.ac),
    then libtool will not recognize that this is a module and will emit a
    warning.
    
    [1]
    http://www.gnu.org/software/automake/manual/automake.html#Libtool-Modules
    
    Change-Id: Ifa5f9327d18d139597791c305aa10cc4410fb078
    BUG: 1248669
    Signed-off-by: Kaleb S KEITHLEY <kkeithle>
    Reviewed-on: http://review.gluster.org/13003
    Tested-by: NetBSD Build System <jenkins.org>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: soumya k <skoduri>
    Reviewed-by: Niels de Vos <ndevos>

Comment 11 Niels de Vos 2016-06-16 13:28:07 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.8.0, please open a new bug report.

glusterfs-3.8.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://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user