multipathd can't deal with other devices anyway. Proceeding further
with events for other devices just generates log noise.

Based on an idea from Ritika Srivastava <[email protected]>.
("multipath-tools: Skip CHANGE uevent for non-mpath devices").

Changes in v2: always return immediately for non-mpath case
  (Ritika Srivastava)

Signed-off-by: Martin Wilck <[email protected]>
---
 multipathd/main.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/multipathd/main.c b/multipathd/main.c
index ff3ecb640487..a8a0c302e8fe 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -1122,6 +1122,8 @@ uev_trigger (struct uevent * uev, void * trigger_data)
         * are not fully initialised then.
         */
        if (!strncmp(uev->kernel, "dm-", 3)) {
+               if (!uevent_is_mpath(uev))
+                       goto out;
                if (!strncmp(uev->action, "change", 6)) {
                        r = uev_add_map(uev, vecs);
 
@@ -1132,11 +1134,8 @@ uev_trigger (struct uevent * uev, void * trigger_data)
                         * cess.
                         */
                        uev_pathfail_check(uev, vecs);
-                       goto out;
-               }
-               if (!strncmp(uev->action, "remove", 6)) {
+               } else if (!strncmp(uev->action, "remove", 6)) {
                        r = uev_remove_map(uev, vecs);
-                       goto out;
                }
                goto out;
        }
-- 
2.16.1

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to