device-mapper-multipath/0009-RH-multipathd-blacklist-all-by-default.patch

71 lines
2.0 KiB
Diff
Raw Normal View History

2009-10-27 09:58:59 +00:00
From 61b2002c6b2752c15b431e400cd614edc8c5b039 Mon Sep 17 00:00:00 2001
From: Fabio M. Di Nitto <fdinitto@redhat.com>
Date: Mon, 19 Oct 2009 07:05:45 +0200
Subject: [PATCH 09/12] RH: multipathd blacklist all by default
If there is no configuration installed on the system, blacklist
everything by default.
BZ#528059
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
:100644 100644 e7e962e... 5aa1ab0... M libmultipath/config.c
:100644 100644 86b1320... 7e90e75... M libmultipath/config.h
libmultipath/config.c | 18 +++++++++++++++++-
libmultipath/config.h | 1 +
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/libmultipath/config.c b/libmultipath/config.c
index e7e962e..5aa1ab0 100644
--- a/libmultipath/config.c
+++ b/libmultipath/config.c
@@ -19,6 +19,7 @@
#include "blacklist.h"
#include "defaults.h"
#include "prio.h"
+#include "version.h"
static int
hwe_strmatch (struct hwentry *hwe1, struct hwentry *hwe2)
@@ -463,8 +464,23 @@ load_config (char * file)
condlog(0, "error parsing config file");
goto out;
}
+ } else {
+ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
+ condlog(0, "A default multipath.conf file is located at");
+ condlog(0,
+"/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf",
+ MULTIPATH_VERSION(VERSION_CODE));
+ conf->blist_devnode = vector_alloc();
+ if (!conf->blist_devnode) {
+ condlog(0, "cannot allocate blacklist\n");
+ goto out;
+ }
+ if (store_ble(conf->blist_devnode, strdup(".*"),
+ ORIGIN_NO_CONFIG)) {
+ condlog(0, "cannot store default no-config blacklist\n");
+ goto out;
+ }
}
-
/*
* remove duplica in hwtable. config file takes precedence
* over build-in hwtable
diff --git a/libmultipath/config.h b/libmultipath/config.h
index 86b1320..7e90e75 100644
--- a/libmultipath/config.h
+++ b/libmultipath/config.h
@@ -5,6 +5,7 @@
#define ORIGIN_DEFAULT 0
#define ORIGIN_CONFIG 1
+#define ORIGIN_NO_CONFIG 2
enum devtypes {
DEV_NONE,
--
1.6.5.1