@@ -10,23 +10,30 @@
*
* See libmultipath.version for general policy about version numbers.
*/
-LIBMPATHPERSIST_3.0.0 {
+/* Previous API for backward compatibility */
+LIBMPATHPERSIST_2.1.0 {
global:
- /* public API as defined in mpath_persist.h */
libmpathpersist_exit;
libmpathpersist_init;
mpath_lib_exit;
mpath_lib_init;
mpath_mx_alloc_len;
mpath_persistent_reserve_free_vecs;
- mpath_persistent_reserve_in__;
+ __mpath_persistent_reserve_in;
mpath_persistent_reserve_in;
mpath_persistent_reserve_init_vecs;
- mpath_persistent_reserve_out__;
+ __mpath_persistent_reserve_out;
mpath_persistent_reserve_out;
-local: *;
+local:
+ *;
};
+LIBMPATHPERSIST_2.2.0 {
+global:
+ mpath_persistent_reserve_in__;
+ mpath_persistent_reserve_out__;
+} LIBMPATHPERSIST_2.1.0;
+
__LIBMPATHPERSIST_INT_1.0.0 {
/* Internal use by multipath-tools */
dumpHex;
@@ -127,6 +127,8 @@ int mpath_persistent_reserve_in__(int fd, int rq_servact,
resp, noisy);
}
+extern int __mpath_persistent_reserve_in(int, int, struct prin_resp *, int)
+ __attribute__((weak, alias("mpath_persistent_reserve_in__")));
int mpath_persistent_reserve_out__( int fd, int rq_servact, int rq_scope,
unsigned int rq_type, struct prout_param_descriptor *paramp, int noisy)
@@ -136,6 +138,10 @@ int mpath_persistent_reserve_out__( int fd, int rq_servact, int rq_scope,
noisy);
}
+extern int __mpath_persistent_reserve_out(int, int, int, unsigned int,
+ struct prout_param_descriptor *, int)
+ __attribute__((weak, alias("mpath_persistent_reserve_out__")));
+
int mpath_persistent_reserve_in (int fd, int rq_servact,
struct prin_resp *resp, int noisy, int verbose)
{
__mpath_persistent_reserve_{in,out}() were part of our public ABI. Instead of removing them completely, define it as a weak aliases. This way, programs linked against previous versions of libmpathpersist will continue to work. This shouldn't interfere with general symbol naming rules, as a weak symbol won't override a library symbol of the same name. Signed-off-by: Martin Wilck <mwilck@suse.com> --- libmpathpersist/libmpathpersist.version | 17 ++++++++++++----- libmpathpersist/mpath_persist.c | 6 ++++++ 2 files changed, 18 insertions(+), 5 deletions(-)