62 lines
2.1 KiB
Diff
62 lines
2.1 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Martin Wilck <mwilck@suse.com>
|
||
|
Date: Fri, 8 Jan 2021 17:27:10 +0100
|
||
|
Subject: [PATCH] Revert "multipathd: uev_trigger(): handle incomplete ADD
|
||
|
events"
|
||
|
|
||
|
cb10d38 ("multipathd: uev_trigger(): handle incomplete ADD events") was an
|
||
|
attempt to fix issues with incompletely initialized multipath maps observed
|
||
|
in various scenarious. However, that patch was wrong. Spurious "change" events
|
||
|
as this patch would generate have no effect, because they are ignored by
|
||
|
the device-mapper udev rules. The correct fix for the problem we were
|
||
|
facing is 0d66e03 ("libmultipath: force map reload if udev incomplete"),
|
||
|
which forces a full map reload.
|
||
|
|
||
|
Reverts: cb10d38 ("multipathd: uev_trigger(): handle incomplete ADD events")
|
||
|
|
||
|
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||
|
---
|
||
|
multipathd/main.c | 25 -------------------------
|
||
|
1 file changed, 25 deletions(-)
|
||
|
|
||
|
diff --git a/multipathd/main.c b/multipathd/main.c
|
||
|
index 7612430a..92c45d44 100644
|
||
|
--- a/multipathd/main.c
|
||
|
+++ b/multipathd/main.c
|
||
|
@@ -1499,31 +1499,6 @@ uev_trigger (struct uevent * uev, void * trigger_data)
|
||
|
uev_pathfail_check(uev, vecs);
|
||
|
} else if (!strncmp(uev->action, "remove", 6)) {
|
||
|
r = uev_remove_map(uev, vecs);
|
||
|
- } else if (!strncmp(uev->action, "add", 3)) {
|
||
|
- const char *ev_name;
|
||
|
- char *dm_name;
|
||
|
- int major = -1, minor = -1;
|
||
|
-
|
||
|
- /*
|
||
|
- * If DM_NAME is not set for a valid map, trigger a
|
||
|
- * change event. This can happen during coldplug
|
||
|
- * if udev was killed between handling the 'add' and
|
||
|
- * 'change' events before.
|
||
|
- */
|
||
|
- ev_name = uevent_get_dm_name(uev);
|
||
|
- if (!ev_name) {
|
||
|
- major = uevent_get_major(uev);
|
||
|
- minor = uevent_get_minor(uev);
|
||
|
- dm_name = dm_mapname(major, minor);
|
||
|
- if (dm_name && *dm_name) {
|
||
|
- condlog(2, "%s: received incomplete 'add' uevent, triggering change",
|
||
|
- dm_name);
|
||
|
- udev_device_set_sysattr_value(uev->udev,
|
||
|
- "uevent",
|
||
|
- "change");
|
||
|
- free(dm_name);
|
||
|
- }
|
||
|
- }
|
||
|
}
|
||
|
goto out;
|
||
|
}
|
||
|
--
|
||
|
2.17.2
|
||
|
|