Bug 1165129 - libgfapi: use versioned symbols in libgfapi.so for compatibility
Summary: libgfapi: use versioned symbols in libgfapi.so for compatibility
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: libgfapi
Version: 3.6.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kaleb KEITHLEY
QA Contact: Sudhir D
URL:
Whiteboard:
Depends On: 1160709 1160710 1160711 1160712
Blocks: glusterfs-3.6.1 glusterfs-3.6.2 glusterfs-3.6.3
TreeView+ depends on / blocked
 
Reported: 2014-11-18 12:06 UTC by Kaleb KEITHLEY
Modified: 2015-12-01 16:45 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 1160710
Environment:
Last Closed: 2015-08-11 13:22:27 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Kaleb KEITHLEY 2014-11-18 12:06:34 UTC
+++ This bug was initially created as a clone of Bug #1160710 +++

+++ This bug was initially created as a clone of Bug #1160709 +++

Description of problem:

Bumping the SO_NAME to 7.0.0 breaks compatibility for dependent applications linked against earlier versions of libgfapi.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Anand Avati on 2014-11-05 08:50:09 EST ---

REVIEW: http://review.gluster.org/9054 (api: versioned symbols in libgfapi.so for compatibility) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle)

--- Additional comment from Anand Avati on 2014-11-05 10:28:52 EST ---

REVIEW: http://review.gluster.org/9055 (api: versioned symbols in libgfapi.so for compatibility) posted (#1) for review on release-3.6 by Kaleb KEITHLEY (kkeithle)

--- Additional comment from Anand Avati on 2014-11-05 12:58:01 EST ---

REVIEW: http://review.gluster.org/9055 (api: versioned symbols in libgfapi.so for compatibility) posted (#2) for review on release-3.6 by Kaleb KEITHLEY (kkeithle)

--- Additional comment from Anand Avati on 2014-11-07 05:18:01 EST ---

COMMIT: http://review.gluster.org/9055 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 1ffdf112f707a13c9fd74bbf17f99d28f84f0f0c
Author: Kaleb S. KEITHLEY <kkeithle>
Date:   Wed Nov 5 10:26:46 2014 -0500

    api: versioned symbols in libgfapi.so for compatibility
    
    Use versioned symbols to keep libgfapi at libgfapi.so.0.0.0
    
    Some nits uncovered:
    
    + there are a couple functions declared that do not have an
      associated definition, e.g. glfs_truncate(), glfs_caller_specific_init()
    
    + there are seven private/internal functions used by heal/src/glfsheal
      and the gfapi master xlator (glfs-master.c): glfs_loc_touchup(),
      glfs_active_subvol(), and glfs_subvol_done(), glfs_init_done(),
      glfs_resolve_at(), glfs_free_from_ctx(), and glfs_new_from_ctx();
      which are not declared in glfs.h;
    
    + for this initial pass at versioned symbols, we use the earliest version
      of all public symbols, i.e. those for which there are declarations in
      glfs.h or glfs-handles.h.
      Further investigation as we do backports to 3.6, 3.4, and 3.4
      will be required to determine if older implementations need to
      be preserved (forward ported) and their associated alias(es) and
      symbol version(s) defined.
    
    FWIW, we should consider linking all of our libraries with a map, it'll
    result in a cleaner ABI. Perhaps something for an intern to do or a
    Google Summer of Code project.
    
    Change-Id: Ie3323e62bb125a3b26214153278b4e998804de0e
    BUG: 1160710
    Signed-off-by: Kaleb S. KEITHLEY <kkeithle>
    Reviewed-on: http://review.gluster.org/9055
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Niels de Vos <ndevos>
    Tested-by: Niels de Vos <ndevos>
    Reviewed-by: Vijay Bellur <vbellur>

--- Additional comment from Niels de Vos on 2014-11-10 10:14:38 EST ---

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.6.1, please reopen this bug report.

glusterfs-3.6.1 has been announced [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://supercolony.gluster.org/pipermail/gluster-users/2014-November/019410.html
[2] http://supercolony.gluster.org/mailman/listinfo/gluster-users

Comment 1 Kaleb KEITHLEY 2014-11-18 12:07:37 UTC
Breaks build on Mac OS X

Comment 2 Anand Avati 2014-11-18 19:18:18 UTC
REVIEW: http://review.gluster.org/9144 (api: versioned symbols in libgfapi.so for compatibility) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 3 Anand Avati 2014-11-18 19:47:00 UTC
REVIEW: http://review.gluster.org/9145 (api: versioned symbols in libgfapi.so for compatibility) posted (#1) for review on release-3.6 by Kaleb KEITHLEY (kkeithle)

Comment 4 Anand Avati 2015-01-13 17:10:55 UTC
REVIEW: http://review.gluster.org/9145 (api: versioned symbols in libgfapi.so for compatibility) posted (#2) for review on release-3.6 by Kaleb KEITHLEY (kkeithle)

Comment 5 Anand Avati 2015-01-13 21:25:35 UTC
REVIEW: http://review.gluster.org/9145 (api: versioned symbols in libgfapi.so for compatibility) posted (#3) for review on release-3.6 by Kaleb KEITHLEY (kkeithle)

Comment 6 Anand Avati 2015-01-14 12:47:38 UTC
REVIEW: http://review.gluster.org/9145 (api: versioned symbols in libgfapi.so for compatibility) posted (#4) for review on release-3.6 by Kaleb KEITHLEY (kkeithle)

Comment 7 Anand Avati 2015-02-24 19:38:53 UTC
REVIEW: http://review.gluster.org/9145 (api: versioned symbols in libgfapi.so for compatibility) posted (#5) for review on release-3.6 by Kaleb KEITHLEY (kkeithle)

Comment 8 Anand Avati 2015-02-25 19:50:28 UTC
REVIEW: http://review.gluster.org/9145 (api: versioned symbols in libgfapi.so for compatibility) posted (#6) for review on release-3.6 by Kaleb KEITHLEY (kkeithle)

Comment 9 Anand Avati 2015-03-04 07:32:20 UTC
COMMIT: http://review.gluster.org/9145 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit b887c4ee9338215ce11aa350c97fcc6f133fcce7
Author: Kaleb S. KEITHLEY <kkeithle>
Date:   Tue Nov 18 14:44:59 2014 -0500

    api: versioned symbols in libgfapi.so for compatibility
    
    Use versioned symbols to keep libgfapi at libgfapi.so.0.0.0
    
    Revisited to address broken build on Mac OS X
    
    See http://review.gluster.org/9055
    
    Change-Id: I0f26668898749f57b61490b18f1f04c42996225d
    BUG: 1165129
    Signed-off-by: Kaleb S. KEITHLEY <kkeithle>
    Reviewed-on: http://review.gluster.org/9145
    Reviewed-by: Shyamsundar Ranganathan <srangana>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Ravishankar N <ravishankar>
    Reviewed-by: Raghavendra Bhat <raghavendra>


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