device-mapper-multipath/0096-Revert-multipathd-uev_trigger-handle-incomplete-ADD-.patch
DistroBaker 28d3ae407e Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/device-mapper-multipath.git#26a2cd7a3e189bf91263d17bc8a8c449cc043fb0
2021-01-21 16:56:27 +00:00

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