81 lines
3.2 KiB
Diff
81 lines
3.2 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 | 12 ++++--------
|
||
|
multipath/multipath.conf.5 | 14 ++++++--------
|
||
|
2 files changed, 10 insertions(+), 16 deletions(-)
|
||
|
|
||
|
diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c
|
||
|
index e0d0279..556c0b9 100644
|
||
|
--- a/libmultipath/blacklist.c
|
||
|
+++ b/libmultipath/blacklist.c
|
||
|
@@ -204,12 +204,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 (find_blacklist_device(conf->blist_device,
|
||
|
@@ -394,9 +388,11 @@ filter_property(struct config *conf, struct udev_device *udev, int lvl)
|
||
|
if (udev) {
|
||
|
/*
|
||
|
* This is the inverse of the 'normal' matching;
|
||
|
- * the environment variable _has_ to match.
|
||
|
+ * the environment variable _has_ to match
|
||
|
+ * if a whitelist is present.
|
||
|
*/
|
||
|
- r = MATCH_PROPERTY_BLIST_MISSING;
|
||
|
+ if (VECTOR_SIZE(conf->elist_property))
|
||
|
+ r = MATCH_PROPERTY_BLIST_MISSING;
|
||
|
udev_list_entry_foreach(list_entry,
|
||
|
udev_device_get_properties_list_entry(udev)) {
|
||
|
|
||
|
diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
|
||
|
index 646c156..768ab83 100644
|
||
|
--- a/multipath/multipath.conf.5
|
||
|
+++ b/multipath/multipath.conf.5
|
||
|
@@ -1235,16 +1235,14 @@ keywords. Both are regular expressions. For a full description of these keywords
|
||
|
Regular expression for an udev property. All
|
||
|
devices that have matching udev properties will be excluded/included.
|
||
|
The handling of the \fIproperty\fR keyword is special,
|
||
|
-because devices \fBmust\fR have at least one whitelisted udev property;
|
||
|
+because if a property blacklist_exception is set, devices \fBmust\fR have at
|
||
|
+least one whitelisted udev property;
|
||
|
otherwise they're treated as blacklisted, and the message
|
||
|
"\fIblacklisted, udev property missing\fR" is displayed in the logs.
|
||
|
-.
|
||
|
-.RS
|
||
|
-.PP
|
||
|
-The default \fIblacklist exception\fR is: \fB(SCSI_IDENT_|ID_WWN)\fR, causing
|
||
|
-well-behaved SCSI devices and devices that provide a WWN (World Wide Number)
|
||
|
-to be included, and all others to be excluded.
|
||
|
-.RE
|
||
|
+For example, setting the property blacklist_exception to
|
||
|
+\fB(SCSI_IDENT_|ID_WWN)\fR, will cause well-behaved SCSI devices and devices
|
||
|
+that provide a WWN (World Wide Number) to be included, and all others to be
|
||
|
+excluded. This works to exclude most non-multipathable devices.
|
||
|
.TP
|
||
|
.B protocol
|
||
|
Regular expression for the protocol of a device to be excluded/included.
|
||
|
--
|
||
|
2.17.2
|
||
|
|