From: Benjamin Marzinski <bmarzins@redhat.com>
To: mwilck@suse.com
Cc: dm-devel@redhat.com
Subject: Re: [PATCH 00/11] multipath-tools: add linker version scripts
Date: Thu, 24 Sep 2020 21:09:55 -0500 [thread overview]
Message-ID: <20200925020955.GM11108@octiron.msp.redhat.com> (raw)
In-Reply-To: <20200924133644.14034-1-mwilck@suse.com>
On Thu, Sep 24, 2020 at 03:36:33PM +0200, mwilck@suse.com wrote:
> From: Martin Wilck <mwilck@suse.com>
>
> Hi Christophe, hi Ben,
>
> Patch 1-5 are small fixes, the first two resent from an earlier
> submission. Patch 6ff. add version scripts for the linker to
> libmultipath, libmpathpersist, and libmpathcmd.
>
> Is it useful to do this for libmultipath? We have always said that this is
> not a public, stable ABI. However, I still believe it has merits. First of
> all, it's a description of the ABI we use. It turns out that it cuts the
> size of the exported symbol list of libmultipath roughly in half, which is
> better than I'd expected. It leads to ld.so-time failure rather than weird
> crashes in the unlikely case that non-matching binaries are used
> together. It allows packaging scripts to check compatibility of binaries
> and libraries without resorting to version and release. It will help us
> stabilize the ABI, albeit only in the long run. Finally, it's a step
> towards modernizing our code base in general.
>
> To avoid misunderstanding, my intention is not to provide a stable or even
> backward-compatible ABI in libmultipath.so.0. We're still allowed to make
> changes to globally visible data structures like "struct config", and to
> remove symbols from the ABI, like no serious shared library would do.
> We just need to bump the ABI version when we do so.
>
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
For this patchset, except for 0002 and 0008
> Regards,
> Martin
>
> Martin Wilck (11):
> libmultipath: find_mpe(): don't match with empty WWID
> libmultipath: copy mpp->hwe from pp->hwe
> libmultipath: dm_map_present_by_uuid(): fix dm_task_create() call
> libdmmp tests: fix compilation
> libmultipath: prio: constify some function parameters
> libmultipath: checkers/prio: allow non-lazy .so loading
> multipath-tools Makefiles: separate rules for .so and man pages
> libmultipath: create separate .so for unit tests
> libmultipath: add linker version script
> libmpathpersist: add linker version script
> libmpathcmd: add linker version script
>
> libdmmp/test/libdmmp_speed_test.c | 2 +-
> libdmmp/test/libdmmp_test.c | 2 +-
> libmpathcmd/Makefile | 14 +-
> libmpathcmd/libmpathcmd.version | 13 ++
> libmpathpersist/Makefile | 16 +-
> libmpathpersist/libmpathpersist.version | 20 +++
> libmultipath/Makefile | 22 ++-
> libmultipath/checkers.c | 17 ++
> libmultipath/config.c | 2 +-
> libmultipath/configure.c | 7 +
> libmultipath/devmapper.c | 2 +-
> libmultipath/libmultipath.version | 215 ++++++++++++++++++++++++
> libmultipath/prio.c | 26 ++-
> libmultipath/prio.h | 4 +-
> libmultipath/propsel.c | 4 +-
> libmultipath/structs.c | 15 ++
> libmultipath/structs.h | 1 +
> libmultipath/structs_vec.c | 54 +++---
> multipathd/main.c | 10 --
> tests/Makefile | 10 +-
> 20 files changed, 384 insertions(+), 72 deletions(-)
> create mode 100644 libmpathcmd/libmpathcmd.version
> create mode 100644 libmpathpersist/libmpathpersist.version
> create mode 100644 libmultipath/libmultipath.version
>
> --
> 2.28.0
next prev parent reply other threads:[~2020-09-25 2:09 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-24 13:36 [PATCH 00/11] multipath-tools: add linker version scripts mwilck
2020-09-24 13:36 ` [PATCH 01/11] libmultipath: find_mpe(): don't match with empty WWID mwilck
2020-09-24 13:36 ` [PATCH 02/11] libmultipath: copy mpp->hwe from pp->hwe mwilck
2020-09-24 20:12 ` Benjamin Marzinski
2020-09-25 16:01 ` Martin Wilck
2020-09-25 16:06 ` Benjamin Marzinski
2020-09-24 13:36 ` [PATCH 03/11] libmultipath: dm_map_present_by_uuid(): fix dm_task_create() call mwilck
2020-09-24 13:36 ` [PATCH 04/11] libdmmp tests: fix compilation mwilck
2020-09-24 13:36 ` [PATCH 05/11] libmultipath: prio: constify some function parameters mwilck
2020-09-24 13:36 ` [PATCH 06/11] libmultipath: checkers/prio: allow non-lazy .so loading mwilck
2020-09-24 20:27 ` Benjamin Marzinski
2020-09-24 13:36 ` [PATCH 07/11] multipath-tools Makefiles: separate rules for .so and man pages mwilck
2020-09-24 13:36 ` [PATCH 08/11] libmultipath: create separate .so for unit tests mwilck
2020-09-24 23:35 ` Benjamin Marzinski
2020-09-24 13:36 ` [PATCH 09/11] libmultipath: add linker version script mwilck
2020-09-24 13:36 ` [PATCH 10/11] libmpathpersist: " mwilck
2020-09-25 4:00 ` Benjamin Marzinski
2020-09-25 19:52 ` Martin Wilck
2020-09-25 22:10 ` Benjamin Marzinski
[not found] ` <20200925223207.GC3384@octiron.msp.redhat.com>
[not found] ` <c0a1e44fcc819583d972884aa126c486fc784fa9.camel@suse.com>
2020-09-25 23:22 ` Benjamin Marzinski
2020-09-24 13:36 ` [PATCH 11/11] libmpathcmd: " mwilck
2020-09-25 2:09 ` Benjamin Marzinski [this message]
2020-09-25 19:53 ` [PATCH 00/11] multipath-tools: add linker version scripts Martin Wilck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200925020955.GM11108@octiron.msp.redhat.com \
--to=bmarzins@redhat.com \
--cc=dm-devel@redhat.com \
--cc=mwilck@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).