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 <dragan.stancevic@xxxxxxxxxxxxx> 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 <christophe.varoqui@xxxxxxxxxxx> Cc: device-mapper development <dm-devel@xxxxxxxxxx> Signed-off-by: Dragan Stancevic <dragan.stancevic@xxxxxxxxxxxxx> --- 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 dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel