diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2014-11-03 16:07:30 -0500 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-11-07 00:23:34 -0800 |
commit | 7e497871d11a3a527e2ce192e4274322631f27d0 (patch) | |
tree | e35b5c3d2d780a4512211c5c3a51e0190540424d /xlators | |
parent | 1fe785152cc44e78fcd67da5091bc780eb42f1dd (diff) |
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: I499456807a5cd26acb39843216ece4276f8e9b84
BUG: 1160709
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/9036
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Tested-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/nfs/server/src/mount3.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/xlators/nfs/server/src/mount3.c b/xlators/nfs/server/src/mount3.c index 568b2f29fbd..6be856ba92a 100644 --- a/xlators/nfs/server/src/mount3.c +++ b/xlators/nfs/server/src/mount3.c @@ -2010,6 +2010,16 @@ __mnt3udp_get_mstate (xlator_t *nfsx) return ms; } +extern int +glfs_resolve_at (struct glfs *, xlator_t *, inode_t *, + const char *, loc_t *, struct iatt *, int, int); + +extern struct glfs * +glfs_new_from_ctx (glusterfs_ctx_t *); + +extern void +glfs_free_from_ctx (struct glfs *); + static inode_t * __mnt3udp_get_export_subdir_inode (struct svc_req *req, char *subdir, char *expname, /* OUT */ |