You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.8 KiB
102 lines
2.8 KiB
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
|
From: Benjamin Marzinski <bmarzins@redhat.com> |
|
Date: Thu, 25 Mar 2021 13:05:10 -0500 |
|
Subject: [PATCH] RH: make parse_vpd_pg83 match scsi_id output |
|
|
|
Red Hat sets ID_SERIAL based on the result of scsi_id, instead of using |
|
the result of sg_inq and 55-scsi-sg3_id.rules. Make parse_vpd_pg83 match |
|
that. |
|
|
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> |
|
--- |
|
libmultipath/discovery.c | 18 ++---------------- |
|
tests/vpd.c | 6 ++++++ |
|
2 files changed, 8 insertions(+), 16 deletions(-) |
|
|
|
diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c |
|
index f25fe9e3..6fb81c28 100644 |
|
--- a/libmultipath/discovery.c |
|
+++ b/libmultipath/discovery.c |
|
@@ -1136,12 +1136,9 @@ parse_vpd_pg83(const unsigned char *in, size_t in_len, |
|
naa_prio = 7; |
|
break; |
|
case 2: |
|
- /* IEEE Extended: Prio 6 */ |
|
- naa_prio = 6; |
|
- break; |
|
case 3: |
|
- /* IEEE Locally assigned: Prio 1 */ |
|
- naa_prio = 1; |
|
+ /* IEEE Extended or Locally assigned: Prio 6 */ |
|
+ naa_prio = 6; |
|
break; |
|
default: |
|
/* Default: no priority */ |
|
@@ -1160,17 +1157,6 @@ parse_vpd_pg83(const unsigned char *in, size_t in_len, |
|
vpd = d; |
|
} |
|
break; |
|
- case 0x8: |
|
- /* SCSI Name: Prio 3 */ |
|
- if (memcmp(d + 4, "eui.", 4) && |
|
- memcmp(d + 4, "naa.", 4) && |
|
- memcmp(d + 4, "iqn.", 4)) |
|
- break; |
|
- if (prio < 3) { |
|
- prio = 3; |
|
- vpd = d; |
|
- } |
|
- break; |
|
case 0x1: |
|
/* T-10 Vendor ID: Prio 2 */ |
|
if (prio < 2) { |
|
diff --git a/tests/vpd.c b/tests/vpd.c |
|
index 8e730d37..7bf7990f 100644 |
|
--- a/tests/vpd.c |
|
+++ b/tests/vpd.c |
|
@@ -230,11 +230,13 @@ static const char * const str_prefix[] = { |
|
[STR_IQN] = "iqn.", |
|
}; |
|
|
|
+#if 0 |
|
static const char byte0[] = { |
|
[STR_EUI] = '2', |
|
[STR_NAA] = '3', |
|
[STR_IQN] = '8', |
|
}; |
|
+#endif |
|
|
|
/** |
|
* create_scsi_string_desc() - create a SCSI name string descriptor. |
|
@@ -659,6 +661,7 @@ make_test_vpd_naa(2, 18); |
|
make_test_vpd_naa(2, 17); |
|
make_test_vpd_naa(2, 16); |
|
|
|
+#if 0 |
|
/* SCSI Name string: EUI64, WWID size: 17 */ |
|
make_test_vpd_str(0, 20, 18) |
|
make_test_vpd_str(0, 20, 17) |
|
@@ -694,6 +697,7 @@ make_test_vpd_str(18, 20, 18) |
|
make_test_vpd_str(18, 20, 17) |
|
make_test_vpd_str(18, 20, 16) |
|
make_test_vpd_str(18, 20, 15) |
|
+#endif |
|
|
|
static int test_vpd(void) |
|
{ |
|
@@ -767,6 +771,7 @@ static int test_vpd(void) |
|
cmocka_unit_test(test_vpd_naa_2_18), |
|
cmocka_unit_test(test_vpd_naa_2_17), |
|
cmocka_unit_test(test_vpd_naa_2_16), |
|
+/* |
|
cmocka_unit_test(test_vpd_str_0_20_18), |
|
cmocka_unit_test(test_vpd_str_0_20_17), |
|
cmocka_unit_test(test_vpd_str_0_20_16), |
|
@@ -791,6 +796,7 @@ static int test_vpd(void) |
|
cmocka_unit_test(test_vpd_str_18_20_17), |
|
cmocka_unit_test(test_vpd_str_18_20_16), |
|
cmocka_unit_test(test_vpd_str_18_20_15), |
|
+*/ |
|
}; |
|
return cmocka_run_group_tests(tests, setup, teardown); |
|
}
|
|
|