From f2fd96af8e58439562ccb8ff8c41827584c622f4 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 5 Nov 2014 11:27:15 -0500 Subject: 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 Reviewed-on: http://review.gluster.org/9056 Tested-by: Gluster Build System Reviewed-by: Niels de Vos --- heal/src/glfs-heal.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'heal/src/glfs-heal.c') diff --git a/heal/src/glfs-heal.c b/heal/src/glfs-heal.c index 7d22e081135..403bf4bcba2 100644 --- a/heal/src/glfs-heal.c +++ b/heal/src/glfs-heal.c @@ -37,6 +37,10 @@ out: return ret; } +extern int glfs_loc_touchup (loc_t *); +xlator_t *glfs_active_subvol (struct glfs *); +void glfs_subvol_done (struct glfs *, xlator_t *); + int glfsh_get_index_dir_loc (loc_t *rootloc, xlator_t *xl, loc_t *dirloc, int32_t *op_errno) -- cgit