forked from brl/citadel
88 lines
3.4 KiB
Diff
88 lines
3.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Benjamin Marzinski <bmarzins@redhat.com>
|
|
Date: Wed, 2 Jul 2014 12:49:53 -0500
|
|
Subject: [PATCH] RH: Remove the property blacklist exception builtin
|
|
|
|
Multipath set the default property blacklist exceptions to
|
|
(ID_SCSI_VPD|ID_WWN). This has the effect of blacklisting some internal
|
|
devices. These devices may never have multiple paths, but it is nice
|
|
to be able to set multipath up on them all the same. This patch simply
|
|
removes the default, and makes it so that if no property
|
|
blacklist_exception is given, then devices aren't failed for not matching
|
|
it.
|
|
|
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
|
---
|
|
libmultipath/blacklist.c | 15 ++++++---------
|
|
multipath/multipath.conf.5 | 14 ++++++++------
|
|
2 files changed, 14 insertions(+), 15 deletions(-)
|
|
|
|
diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c
|
|
index ee396e2..19d4697 100644
|
|
--- a/libmultipath/blacklist.c
|
|
+++ b/libmultipath/blacklist.c
|
|
@@ -181,12 +181,6 @@ setup_default_blist (struct config * conf)
|
|
if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT))
|
|
return 1;
|
|
|
|
- str = STRDUP("(SCSI_IDENT_|ID_WWN)");
|
|
- if (!str)
|
|
- return 1;
|
|
- if (store_ble(conf->elist_property, str, ORIGIN_DEFAULT))
|
|
- return 1;
|
|
-
|
|
vector_foreach_slot (conf->hwtable, hwe, i) {
|
|
if (hwe->bl_product) {
|
|
if (_blacklist_device(conf->blist_device, hwe->vendor,
|
|
@@ -390,9 +384,12 @@ filter_property(struct config * conf, struct udev_device * udev)
|
|
* This is the inverse of the 'normal' matching;
|
|
* the environment variable _has_ to match.
|
|
*/
|
|
- log_filter(devname, NULL, NULL, NULL, NULL,
|
|
- MATCH_PROPERTY_BLIST_MISSING);
|
|
- return MATCH_PROPERTY_BLIST_MISSING;
|
|
+ if (VECTOR_SIZE(conf->elist_property)) {
|
|
+ log_filter(devname, NULL, NULL, NULL, NULL,
|
|
+ MATCH_PROPERTY_BLIST_MISSING);
|
|
+ return MATCH_PROPERTY_BLIST_MISSING;
|
|
+ }
|
|
+ return 0;
|
|
}
|
|
|
|
void
|
|
diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
|
|
index 30d8598..c45da9f 100644
|
|
--- a/multipath/multipath.conf.5
|
|
+++ b/multipath/multipath.conf.5
|
|
@@ -1179,10 +1179,6 @@ The \fIWorld Wide Identification\fR of a device.
|
|
.TP
|
|
.B property
|
|
Regular expression of the udev property to be whitelisted.
|
|
-.RS
|
|
-.TP
|
|
-The default is: \fB(SCSI_IDENT_|ID_WWN)\fR
|
|
-.RE
|
|
.TP
|
|
.B device
|
|
Subsection for the device description. This subsection recognizes the
|
|
@@ -1193,8 +1189,14 @@ keywords. For a full description of these keywords please see the \fIdevices\fR
|
|
section description.
|
|
.LP
|
|
The \fIproperty\fR whitelist handling is different from the usual
|
|
-handling in the sense that the device \fIhas\fR to have a udev property that
|
|
-matches the whitelist, otherwise the device will be blacklisted. In these cases the message \fIblacklisted, udev property missing\fR will be displayed.
|
|
+handling in the sense that if the propery whitelist is set, the device
|
|
+\fIhas\fR to have a udev property that matches the whitelist, otherwise the
|
|
+device will be blacklisted. In these cases the message \fIblacklisted, udev
|
|
+property missing\fR will be displayed. For example settting the
|
|
+property blacklist_exception to \fB(SCSI_IDENT_|ID_WWN)\fR will blacklist
|
|
+all devices that have no udev property whose name regex matches either
|
|
+\fBSCSI_IDENT_\fR or \fBID_WWN\fR. This works to exclude most
|
|
+non-multipathable devices.
|
|
.
|
|
.
|
|
.\" ----------------------------------------------------------------------------
|
|
--
|
|
2.7.4
|
|
|