[PATCH 1/2] libmpathcmd: reinstate ABI 1.0.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



__mpath_connect() was part of our public ABI. Instead of removing
it completely, define it as a weak alias of the new mpath_connect__().
This way, programs linked against previous versions of libmpathcmd
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@xxxxxxxx>
---
 libmpathcmd/libmpathcmd.version | 12 ++++++++----
 libmpathcmd/mpath_cmd.c         |  3 +++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/libmpathcmd/libmpathcmd.version b/libmpathcmd/libmpathcmd.version
index a786c25..81bdb2b 100644
--- a/libmpathcmd/libmpathcmd.version
+++ b/libmpathcmd/libmpathcmd.version
@@ -10,16 +10,20 @@
  *
  * See libmultipath.version for general policy about version numbers.
  */
-LIBMPATHCMD_2.0.0 {
+
+LIBMPATHCMD_1.0.0 {
 global:
 	mpath_connect;
-	mpath_connect__;
+	__mpath_connect;
 	mpath_disconnect;
 	mpath_process_cmd;
 	mpath_recv_reply;
 	mpath_recv_reply_len;
 	mpath_recv_reply_data;
 	mpath_send_cmd;
-local:
-	*;
 };
+
+LIBMPATHCMD_1.1.0 {
+global:
+	mpath_connect__;
+} LIBMPATHCMD_1.0.0;
diff --git a/libmpathcmd/mpath_cmd.c b/libmpathcmd/mpath_cmd.c
index 1fa036c..a38e8b6 100644
--- a/libmpathcmd/mpath_cmd.c
+++ b/libmpathcmd/mpath_cmd.c
@@ -133,6 +133,9 @@ int mpath_connect__(int nonblocking)
 	return fd;
 }
 
+extern int __mpath_connect(int)
+	__attribute__((weak, alias("mpath_connect__")));
+
 /*
  * connect to a unix domain socket
  */
-- 
2.46.0





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux