Hi Christophe,
can you please take a look at the attached patch, we are seeing quite a few
cases with the following errors:
failed to get udev uid: Invalid argument
failed to get sysfs uid: Invalid argument
failed to get sgio uid: No such file or directory
It causes a lot of confusion because the devices in question are in the
blacklist but aren't getting filtered. I don't know the code well enough,
but it seems that maybe there should be no condition in the filtering and
the code should just be:
if (dev && (filter_devnode(conf->blist_devnode, conf->elist_devnode, dev) >
0)) {
But I went for smaller change option, by just allowing DEV_UEVENT to also
be filtered.
What do you think?
Thanks.
From 7dcf982221f1aa63226babaee2c41d8b0652b6d8 Mon Sep 17 00:00:00 2001
From: Dragan Stancevic <[email protected]>
Date: Thu, 23 Jun 2016 15:29:37 -0500
Subject: [PATCH 1/1] multipath-tools: fix dm- device filtering
During "service multipath-tools start" /sbin/multipath is
called on dm- devices that are filtered but due to a condition
conf->dev_type == DEV_DEVNODE in filtering code multipath
binary wasn't dropping out when hitting a dm- device. This
was due to the fact that in this case conf->dev_type is
set to DEV_UEVENT.
This is causing the logs to be filled with following
messages:
multipath: dm-6: failed to get udev uid: Invalid argument
multipath: dm-6: failed to get sysfs uid: Invalid argument
multipath: dm-6: failed to get sgio uid: No such file or directory
This change alows the filtering to happen.
Cc: Christophe Varoqui <[email protected]>
Cc: device-mapper development <[email protected]>
Signed-off-by: Dragan Stancevic <[email protected]>
---
multipath/main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/multipath/main.c b/multipath/main.c
index aadebec..d89298b 100644
--- a/multipath/main.c
+++ b/multipath/main.c
@@ -267,7 +267,8 @@ configure (void)
/*
* if we have a blacklisted device parameter, exit early
*/
- if (dev && conf->dev_type == DEV_DEVNODE &&
+ if (dev && (conf->dev_type == DEV_DEVNODE ||
+ conf->dev_type == DEV_UEVENT) &&
conf->cmd != CMD_REMOVE_WWID &&
(filter_devnode(conf->blist_devnode,
conf->elist_devnode, dev) > 0)) {
--
2.1.0
--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel