[dm-devel] [PATCH] libmultipath: fix skip_kpartx support for removing maps
Christophe Varoqui
christophe.varoqui at opensvc.com
Fri Apr 14 08:42:52 UTC 2017
Merged,
Thanks.
On Thu, Apr 13, 2017 at 3:05 PM, Martin Wilck <mwilck at suse.com> wrote:
> Commit 79a05a4e inadvertently removed the code necessary
> to support multipath maps without partitions, as introduced
> in b73a34ea "libmultipath: add skip_kpartx option". Revert
> this part of the commit, so that skip_kpartx works again.
>
> Fixes: 79a05a4e libmultipath: move suspend logic to _dm_flush_map
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
> libmultipath/devmapper.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c
> index 026418f8..5fb9d9ac 100644
> --- a/libmultipath/devmapper.c
> +++ b/libmultipath/devmapper.c
> @@ -761,6 +761,12 @@ out:
> }
>
> static int
> +has_partmap(const char *name, void *data)
> +{
> + return 1;
> +}
> +
> +static int
> partmap_in_use(const char *name, void *data)
> {
> int part_count, *ret_count = (int *)data;
> @@ -785,12 +791,18 @@ int _dm_flush_map (const char * mapname, int
> need_sync, int deferred_remove,
> {
> int r;
> int queue_if_no_path = 0;
> + int udev_flags = 0;
> unsigned long long mapsize;
> char params[PARAMS_SIZE] = {0};
>
> if (!dm_is_mpath(mapname))
> return 0; /* nothing to do */
>
> + /* if the device currently has no partitions, do not
> + run kpartx on it if you fail to delete it */
> + if (do_foreach_partmaps(mapname, has_partmap, NULL) == 0)
> + udev_flags |= MPATH_UDEV_NO_KPARTX_FLAG;
> +
> /* If you aren't doing a deferred remove, make sure that no
> * devices are in use */
> if (!do_deferred(deferred_remove) && partmap_in_use(mapname, NULL))
> @@ -834,7 +846,7 @@ int _dm_flush_map (const char * mapname, int
> need_sync, int deferred_remove,
> mapname);
> if (need_suspend && queue_if_no_path != -1) {
> dm_simplecmd_noflush(DM_DEVICE_RESUME,
> - mapname, 0);
> + mapname, udev_flags);
> }
> }
> if (retries)
> --
> 2.12.2
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20170414/4e0d720c/attachment.htm>
More information about the dm-devel
mailing list