[Bugs] [Bug 1165129] New: libgfapi: use versioned symbols in libgfapi.so for compatibility

bugzilla at redhat.com bugzilla at redhat.com
Tue Nov 18 12:06:34 UTC 2014


https://bugzilla.redhat.com/show_bug.cgi?id=1165129

            Bug ID: 1165129
           Summary: libgfapi: use versioned symbols in libgfapi.so for
                    compatibility
           Product: GlusterFS
           Version: 3.6.0
         Component: libgfapi
          Assignee: bugs at gluster.org
          Reporter: kkeithle at redhat.com
        QA Contact: sdharane at redhat.com
                CC: bugs at gluster.org, gluster-bugs at redhat.com,
                    sdharane at redhat.com
        Depends On: 1160709, 1160711, 1160712, 1160710
            Blocks: 1163723 (glusterfs-3.6.2), 1159253 (glusterfs-3.6.1)



+++ 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 at redhat.com)

--- 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 at redhat.com)

--- 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 at redhat.com)

--- 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 at redhat.com) 
------
commit 1ffdf112f707a13c9fd74bbf17f99d28f84f0f0c
Author: Kaleb S. KEITHLEY <kkeithle at redhat.com>
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 at redhat.com>
    Reviewed-on: http://review.gluster.org/9055
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Niels de Vos <ndevos at redhat.com>
    Tested-by: Niels de Vos <ndevos at redhat.com>
    Reviewed-by: Vijay Bellur <vbellur at redhat.com>

--- 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


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1159253
[Bug 1159253] GlusterFS 3.6.1 tracker
https://bugzilla.redhat.com/show_bug.cgi?id=1160709
[Bug 1160709] libgfapi: use versioned symbols in libgfapi.so for
compatibility
https://bugzilla.redhat.com/show_bug.cgi?id=1160710
[Bug 1160710] libgfapi: use versioned symbols in libgfapi.so for
compatibility
https://bugzilla.redhat.com/show_bug.cgi?id=1160711
[Bug 1160711] libgfapi: use versioned symbols in libgfapi.so for
compatibility
https://bugzilla.redhat.com/show_bug.cgi?id=1160712
[Bug 1160712] libgfapi: use versioned symbols in libgfapi.so for
compatibility
https://bugzilla.redhat.com/show_bug.cgi?id=1163723
[Bug 1163723] GlusterFS 3.6.2 tracker
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list