[dm-devel] [PATCH] libmultipath: fix build without LIBDM_API_DEFERRED
Benjamin Marzinski
bmarzins at redhat.com
Mon May 24 15:55:56 UTC 2021
On Thu, May 20, 2021 at 09:52:08PM +0200, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
>
> Build fails on distributions that don't support DM_DEFERRED_REMOVE
> (libdevmapper < 1.02.89). Fix it.
>
> Resolves: https://github.com/opensvc/multipath-tools/issues/7
> Tested-by: Paul Menzel <pmenzel at molgen.mpg.de>
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> ---
> libmultipath/devmapper.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c
> index 095cbc0..47a6d60 100644
> --- a/libmultipath/devmapper.c
> +++ b/libmultipath/devmapper.c
> @@ -49,6 +49,9 @@ static int dm_conf_verbosity;
>
> #ifdef LIBDM_API_DEFERRED
> static int dm_cancel_remove_partmaps(const char * mapname);
> +#define __DR_UNUSED__ /* empty */
> +#else
> +#define __DR_UNUSED__ __attribute__((unused))
> #endif
>
> static int do_foreach_partmaps(const char * mapname,
> @@ -384,7 +387,8 @@ libmp_dm_task_create(int task)
> #define do_deferred(x) ((x) == DEFERRED_REMOVE_ON || (x) == DEFERRED_REMOVE_IN_PROGRESS)
>
> static int
> -dm_simplecmd (int task, const char *name, int no_flush, int need_sync, uint16_t udev_flags, int deferred_remove) {
> +dm_simplecmd (int task, const char *name, int no_flush, int need_sync,
> + uint16_t udev_flags, int deferred_remove __DR_UNUSED__) {
> int r = 0;
> int udev_wait_flag = ((need_sync || udev_flags) &&
> (task == DM_DEVICE_RESUME ||
> @@ -1122,7 +1126,8 @@ dm_flush_map_nopaths(const char * mapname, int deferred_remove)
> #else
>
> int
> -dm_flush_map_nopaths(const char * mapname, int deferred_remove)
> +dm_flush_map_nopaths(const char * mapname,
> + int deferred_remove __attribute__((unused)))
> {
> return _dm_flush_map(mapname, 1, 0, 0, 0);
> }
> @@ -1573,7 +1578,7 @@ dm_cancel_deferred_remove (struct multipath *mpp)
> #else
>
> int
> -dm_cancel_deferred_remove (struct multipath *mpp)
> +dm_cancel_deferred_remove (struct multipath *mpp __attribute__((unused)))
> {
> return 0;
> }
> --
> 2.31.1
More information about the dm-devel
mailing list