diff options
| author | Kaleb S KEITHLEY <kkeithle@redhat.com> | 2016-06-13 11:34:51 -0400 | 
|---|---|---|
| committer | Jeff Darcy <jdarcy@redhat.com> | 2016-06-14 18:30:21 -0700 | 
| commit | e740b700975bdb1014ede99c65731095bdf81a72 (patch) | |
| tree | 781f8da0f91339282c98ea848a264550831fb121 /api | |
| parent | 04828f569eede11e11433bf099dbb7cb39c3f3b9 (diff) | |
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>
Diffstat (limited to 'api')
| -rw-r--r-- | api/src/gfapi.aliases | 4 | ||||
| -rw-r--r-- | api/src/gfapi.map | 3 | ||||
| -rw-r--r-- | api/src/glfs.c | 12 | ||||
| -rw-r--r-- | api/src/glfs.h | 9 | 
4 files changed, 13 insertions, 15 deletions
diff --git a/api/src/gfapi.aliases b/api/src/gfapi.aliases index 7181dd2f6e8..4a8bdcfa2a4 100644 --- a/api/src/gfapi.aliases +++ b/api/src/gfapi.aliases @@ -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 diff --git a/api/src/gfapi.map b/api/src/gfapi.map index b35984a088c..37a26c66467 100644 --- a/api/src/gfapi.map +++ b/api/src/gfapi.map @@ -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; diff --git a/api/src/glfs.c b/api/src/glfs.c index 1cb6bf7a3cf..8db206de007 100644 --- a/api/src/glfs.c +++ b/api/src/glfs.c @@ -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); diff --git a/api/src/glfs.h b/api/src/glfs.h index d3bf1b4cdcc..bf6dd6cd566 100644 --- a/api/src/glfs.h +++ b/api/src/glfs.h @@ -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  | 
