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

bugzilla at redhat.com bugzilla at redhat.com
Mon Feb 9 12:16:56 UTC 2015


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



--- Comment #6 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/9056 committed in release-3.5 by Niels de Vos
(ndevos at redhat.com) 
------
commit f2fd96af8e58439562ccb8ff8c41827584c622f4
Author: Kaleb S. KEITHLEY <kkeithle at redhat.com>
Date:   Wed Nov 5 11:27:15 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 five 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(); 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: I513b9aad9c5fd7d8b34ff33acac35f37b6baaab6
    BUG: 1160711
    Signed-off-by: Kaleb S. KEITHLEY <kkeithle at redhat.com>
    Reviewed-on: http://review.gluster.org/9056
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Niels de Vos <ndevos at redhat.com>

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