api: use versioned symbols for minor ABI change
No need to expand the API/ABI. E.g., see how glfs_lookupat changed between 3.7.0 and 3.7.4 IIRC (I originally argued against versioning the library. I wanted to just add new functions as they were needed, as was initially done for glfs_ipc and glfs_ipc_xd in the master branch for 4.0. But others strongly wanted versioning.) Having made the decision to use versioning, I believe we should continue. At least until we have a public decision that we're no longer going to use versioning. Change-Id: I0c3b2c1cbb297ae2b2864b647c224922987d74ad Signed-off-by: Kaleb S KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/14717 Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com> Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
This commit is contained in:
parent
04828f569e
commit
e740b70097
@ -125,7 +125,7 @@ _pub_glfs_h_removexattrs _glfs_h_removexattrs$GFAPI_3.5.1
|
||||
_pub_glfs_get_volfile _glfs_get_volfile$GFAPI_3.6.0
|
||||
_pub_glfs_h_access _glfs_h_access$GFAPI_3.6.0
|
||||
|
||||
_pub_glfs_ipc _glfs_ipc$GFAPI_3.7.0
|
||||
_pub_glfs_ipc37 _glfs_ipc$GFAPI_3.7.0
|
||||
_pub_glfs_h_poll_upcall _glfs_h_poll_upcall$GFAPI_3.7.0
|
||||
_pub_glfs_h_acl_set _glfs_h_acl_set$GFAPI_3.7.0
|
||||
_pub_glfs_h_acl_get _glfs_h_acl_get$GFAPI_3.7.0
|
||||
@ -140,4 +140,4 @@ _priv_glfs_resolve _glfs_resolve$GFAPI_PRIVATE_3.7.0
|
||||
_priv_glfs_process_upcall_event _glfs_process_upcall_event$GFAPI_PRIVATE_3.7.0
|
||||
|
||||
_pub_glfs_h_lookupat _glfs_h_lookupat$GFAPI_3.7.4
|
||||
_pub_glfs_ipc_xd _glfs_ipc_xd@GFAPI_4.0.4
|
||||
_pub_glfs_ipc _glfs_ipc$GFAPI_4.0.0
|
||||
|
@ -98,6 +98,7 @@ GFAPI_3.4.2 {
|
||||
glfs_setfsuid;
|
||||
glfs_setfsgid;
|
||||
glfs_setfsgroups;
|
||||
glfs_h_lookupat;
|
||||
glfs_h_creat;
|
||||
glfs_h_mkdir;
|
||||
glfs_h_mknod;
|
||||
@ -170,5 +171,5 @@ GFAPI_3.7.4 {
|
||||
|
||||
GFAPI_4.0.0 {
|
||||
global:
|
||||
glfs_ipc_xd;
|
||||
glfs_ipc;
|
||||
} GFAPI_3.7.4;
|
||||
|
@ -1279,7 +1279,7 @@ invalid_fs:
|
||||
GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volfile, 3.6.0);
|
||||
|
||||
int
|
||||
pub_glfs_ipc_xd (struct glfs *fs, int opcode, dict_t *xd_in, dict_t **xd_out)
|
||||
pub_glfs_ipc (struct glfs *fs, int opcode, void *xd_in, void **xd_out)
|
||||
{
|
||||
xlator_t *subvol = NULL;
|
||||
int ret = -1;
|
||||
@ -1294,7 +1294,7 @@ pub_glfs_ipc_xd (struct glfs *fs, int opcode, dict_t *xd_in, dict_t **xd_out)
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = syncop_ipc (subvol, opcode, xd_in, xd_out);
|
||||
ret = syncop_ipc (subvol, opcode, (dict_t *) xd_in, (dict_t **) xd_out);
|
||||
DECODE_SYNCOP_ERR (ret);
|
||||
|
||||
out:
|
||||
@ -1305,12 +1305,12 @@ invalid_fs:
|
||||
return ret;
|
||||
}
|
||||
|
||||
GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ipc_xd, 4.0.0);
|
||||
GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ipc, 4.0.0);
|
||||
|
||||
int
|
||||
pub_glfs_ipc (struct glfs *fs, int opcode)
|
||||
pub_glfs_ipc37 (struct glfs *fs, int opcode)
|
||||
{
|
||||
return pub_glfs_ipc_xd (fs, opcode, NULL, NULL);
|
||||
return pub_glfs_ipc (fs, opcode, NULL, NULL);
|
||||
}
|
||||
|
||||
GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ipc, 3.7.0);
|
||||
GFAPI_SYMVER_PUBLIC(glfs_ipc37, glfs_ipc, 3.7.0);
|
||||
|
@ -72,7 +72,6 @@ __BEGIN_DECLS
|
||||
struct glfs;
|
||||
typedef struct glfs glfs_t;
|
||||
|
||||
|
||||
/*
|
||||
SYNOPSIS
|
||||
|
||||
@ -770,12 +769,10 @@ glfs_fd_t *glfs_dup (glfs_fd_t *fd) __THROW
|
||||
GFAPI_PUBLIC(glfs_dup, 3.4.0);
|
||||
|
||||
/*
|
||||
* No xdata support for now. Nobody needs this call at all yet except for the
|
||||
* test script, and that doesn't need xdata. Adding dict_t support and a new
|
||||
* header-file requirement doesn't seem worth it until the need is greater.
|
||||
* Nobody needs this call at all yet except for the test script.
|
||||
*/
|
||||
int glfs_ipc (glfs_fd_t *fd, int cmd) __THROW
|
||||
GFAPI_PUBLIC(glfs_ipc, 3.7.0);
|
||||
int glfs_ipc (glfs_fd_t *fd, int cmd, void *xd_in, void **xd_out) __THROW
|
||||
GFAPI_PUBLIC(glfs_ipc, 4.0.0);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
@ -10,7 +10,7 @@ if libgfapi == None:
|
||||
libgfapi = "libgfapi.so"
|
||||
api = ctypes.CDLL(libgfapi,mode=ctypes.RTLD_GLOBAL)
|
||||
|
||||
api.glfs_ipc.argtypes = [ ctypes.c_void_p, ctypes.c_int ]
|
||||
api.glfs_ipc.argtypes = [ ctypes.c_void_p, ctypes.c_int, ctypes.c_void_p, ctypes.c_void_p ]
|
||||
api.glfs_ipc.restype = ctypes.c_int
|
||||
|
||||
def do_ipc (host, volume):
|
||||
@ -19,7 +19,7 @@ def do_ipc (host, volume):
|
||||
api.glfs_set_volfile_server(fs,"tcp",host,24007)
|
||||
|
||||
api.glfs_init(fs)
|
||||
ret = api.glfs_ipc(fs,1470369258)
|
||||
ret = api.glfs_ipc(fs,1470369258,0,0)
|
||||
api.glfs_fini(fs)
|
||||
|
||||
return ret
|
||||
|
Loading…
x
Reference in New Issue
Block a user