summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2022-06-06 11:39:02 -0500
committerDavid Teigland <teigland@redhat.com>2022-06-09 14:33:30 -0500
commit25abb5730f4d8f79df69f0817881ffb9eed195a9 (patch)
tree7da88b2ef1a19b4a969d73b15fabfcc0ddaa37f9
parentbf0b3962088fb18f4a2aba00f38955e1fc6e31fe (diff)
downloadlvm2-25abb5730f4d8f79df69f0817881ffb9eed195a9.tar.gz
filter-mpath: handle other wwid types in blacklist
Fixes commit 494372b4eed0c8f6040e3357939eb7511ac25745 "filter-mpath: use multipath blacklist" to handle wwids with initial type digits 1 and 2 used for t10 and eui ids. Originally recognized type 3 naa.
-rw-r--r--lib/device/dev-mpath.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/device/dev-mpath.c b/lib/device/dev-mpath.c
index 6eed03c5b..7abbfb289 100644
--- a/lib/device/dev-mpath.c
+++ b/lib/device/dev-mpath.c
@@ -54,7 +54,7 @@ static void _read_blacklist_file(const char *path)
int section_black = 0;
int section_exceptions = 0;
int found_quote;
- int found_three;
+ int found_type;
int i, j;
if (!(fp = fopen(path, "r")))
@@ -114,7 +114,7 @@ static void _read_blacklist_file(const char *path)
memset(wwid, 0, sizeof(wwid));
found_quote = 0;
- found_three = 0;
+ found_type = 0;
j = 0;
for (; i < MAX_WWID_LINE; i++) {
@@ -132,9 +132,10 @@ static void _read_blacklist_file(const char *path)
/* second quote is end of wwid */
if ((line[i] == '"') && found_quote)
break;
- /* ignore first "3" in wwid */
- if ((line[i] == '3') && !found_three) {
- found_three = 1;
+ /* exclude initial 3/2/1 for naa/eui/t10 */
+ if (!j && !found_type &&
+ ((line[i] == '3') || (line[i] == '2') || (line[i] == '1'))) {
+ found_type = 1;
continue;
}