[dm-devel] [PATCH v2 06/11] libmultipath: add callback for remove_map()
Benjamin Marzinski
bmarzins at redhat.com
Tue Mar 22 00:28:50 UTC 2022
On Fri, Mar 18, 2022 at 5:33 PM <mwilck at suse.com> wrote:
>
> From: Martin Wilck <mwilck at suse.com>
>
> This callback is be used by multipathd to unblock pending
> reconfigure requests if a map is removed that multipathd is currently
> waiting for.
>
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
> libmultipath/libmultipath.version | 3 ++-
> libmultipath/structs_vec.c | 6 ++++++
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/libmultipath/libmultipath.version b/libmultipath/libmultipath.version
> index 216f0ee..8132df7 100644
> --- a/libmultipath/libmultipath.version
> +++ b/libmultipath/libmultipath.version
> @@ -31,7 +31,7 @@
> * The new version inherits the previous ones.
> */
>
> -LIBMULTIPATH_14.0.0 {
> +LIBMULTIPATH_14.1.0 {
> global:
> /* symbols referenced by multipath and multipathd */
> add_foreign;
> @@ -164,6 +164,7 @@ global:
> remember_wwid;
> remove_map;
> remove_map_by_alias;
> + remove_map_callback;
> remove_maps;
> remove_wwid;
> replace_wwids;
> diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c
> index 6c23df8..a69f064 100644
> --- a/libmultipath/structs_vec.c
> +++ b/libmultipath/structs_vec.c
> @@ -336,11 +336,17 @@ void set_path_removed(struct path *pp)
> pp->initialized = INIT_REMOVED;
> }
>
> +void remove_map_callback(struct multipath *mpp __attribute__((unused)))
> +{
> +}
> +
Does this work? I thought that unless you specifically declared the
symbol weak, the call in remove_map() would have already gotten
resolved to point to the existing remove_map_callback() when the
shared library was getting created. Is it because the function is
empty? Am I just misunderstanding something?
-Ben
> void
> remove_map(struct multipath *mpp, vector pathvec, vector mpvec)
> {
> int i;
>
> + remove_map_callback(mpp);
> +
> free_pathvec(mpp->paths, KEEP_PATHS);
> free_pgvec(mpp->pg, KEEP_PATHS);
> mpp->paths = mpp->pg = NULL;
> --
> 2.35.1
>
More information about the dm-devel
mailing list