Update to the head of the upstream staging branch Rename redhat patches * Previous patches 0001-0012 are now patches 0041-0052 Add 0053-RH-Add-mpathcleanup.patch * add mpathcleanup program
54 lines
1.4 KiB
Diff
54 lines
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Martin Wilck <mwilck@suse.com>
|
|
Date: Fri, 25 Aug 2023 20:35:19 +0200
|
|
Subject: [PATCH] libmultipath: dm_get_uuid(): return emtpy UUID for
|
|
non-existing maps
|
|
|
|
libdevmapper will most probably not return a UUID for non-existing
|
|
maps anyway. But it's cheap to double-check here.
|
|
|
|
Signed-off-by: Martin Wilck <mwilck@suse.com>
|
|
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
|
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
|
---
|
|
libmultipath/devmapper.c | 10 ++++++++--
|
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c
|
|
index 248c3734..9be82f4e 100644
|
|
--- a/libmultipath/devmapper.c
|
|
+++ b/libmultipath/devmapper.c
|
|
@@ -706,12 +706,16 @@ dm_get_prefixed_uuid(const char *name, char *uuid, int uuid_len)
|
|
{
|
|
struct dm_task *dmt;
|
|
const char *uuidtmp;
|
|
+ struct dm_info info;
|
|
int r = 1;
|
|
|
|
dmt = libmp_dm_task_create(DM_DEVICE_INFO);
|
|
if (!dmt)
|
|
return 1;
|
|
|
|
+ if (uuid_len > 0)
|
|
+ uuid[0] = '\0';
|
|
+
|
|
if (!dm_task_set_name (dmt, name))
|
|
goto uuidout;
|
|
|
|
@@ -720,11 +724,13 @@ dm_get_prefixed_uuid(const char *name, char *uuid, int uuid_len)
|
|
goto uuidout;
|
|
}
|
|
|
|
+ if (!dm_task_get_info(dmt, &info) ||
|
|
+ !info.exists)
|
|
+ goto uuidout;
|
|
+
|
|
uuidtmp = dm_task_get_uuid(dmt);
|
|
if (uuidtmp)
|
|
strlcpy(uuid, uuidtmp, uuid_len);
|
|
- else
|
|
- uuid[0] = '\0';
|
|
|
|
r = 0;
|
|
uuidout:
|