d3b5067da2
- Added the following patches (bsc#1070836): s390-tools-sles15-cpuplugd-Improve-systemctl-start-error-handling.patch s390-tools-sles15-mon_tools-Improve-systemctl-start-error-handling.patch s390-tools-sles15-lsluns-do-not-scan-all-if-filters-match-nothing.patch s390-tools-sles15-lsluns-do-not-print-confusing-messages-when-a-filter.patch s390-tools-sles15-lsluns-fix-flawed-formatting-of-man-page.patch s390-tools-sles15-lsluns-enhance-usage-statement-and-man-page.patch s390-tools-sles15-lsluns-clarify-discovery-use-case-relation-to-NPIV-a.patch s390-tools-sles15-lsluns-point-out-IBM-Storwize-configuration-requirem.patch s390-tools-sles15-lsluns-document-restriction-to-zfcp-only-systems.patch s390-tools-sles15-lsluns-complement-alternative-tools-with-lszdev.patch OBS-URL: https://build.opensuse.org/request/show/554611 OBS-URL: https://build.opensuse.org/package/show/Base:System/s390-tools?expand=0&rev=40
112 lines
4.7 KiB
Diff
112 lines
4.7 KiB
Diff
Subject: [PATCH] [BZ 161888] lsluns: do not scan (all) if filters match nothing
|
|
From: Jens Remus <jremus@linux.vnet.ibm.com>
|
|
|
|
Description: lsluns: Fix filter handling and documentation enhancements.
|
|
Symptom: lsluns lists all LUNs discovered in the FC SAN despite user
|
|
given filter(s) that do not match anything:
|
|
# lsluns -c 0.0.5080
|
|
No valid combination found for adapter '0.0.5080'. Removing
|
|
from resource list.
|
|
No valid parameters left, using all available resources in
|
|
system.
|
|
Scanning for LUNs on adapter 0.0.5090
|
|
...
|
|
|
|
lsluns prints the message "No valid combination found for
|
|
{adapter|port} '...'. Removing from resource list." for every
|
|
adapter and port filter that does not contribute to the final
|
|
filtered results.
|
|
|
|
The formatting of the lsluns (8) man page is flawed.
|
|
|
|
lsluns is used in unexpected or even unsupported ways.
|
|
Problem: Scanning can be resource consumptive. So if a user already wants
|
|
to filter, possibly to reduce resource consumption, he does not
|
|
want to happen to scan everything and thus consume the worst case
|
|
of resources.
|
|
|
|
The message "No valid combination found for {adapter|port} '...'.
|
|
Removing from resource list." is potentially confusing. It is
|
|
unclear which combination is being referred to, especially if
|
|
only one single adapter or port filter was specified. There is
|
|
also no differentiation whether the denoted adapter or port
|
|
exists for its own or not. It just does not exist in the final
|
|
filtered results.
|
|
|
|
The formatting of the lsluns (8) man page is flawed.
|
|
|
|
The lsluns usage text and lsluns (8) man page lack the
|
|
information on the intended use cases, requirements, and
|
|
restrictions.
|
|
Solution: Print a message and exit when all filters match nothing.
|
|
|
|
Do not print confusing messages when a filter matches nothing.
|
|
|
|
Fix man page formatting.
|
|
|
|
Enhance usage text and man page. Clarify discovery use case,
|
|
relation to NPIV and to zfcp auto LUN scan. Point out
|
|
IBM Storwize configuration requirements. Document restriction to
|
|
zfcp-only systems.
|
|
Reproduction: Use lsluns and specify adapter bus-ID and/or target port WWPN
|
|
filter(s) that do not match anything. Either specify inexistent
|
|
bus-IDs and/or WWPNs or invalid filter arguments.
|
|
Upstream-ID: 398f9ceac8c20705f573671bde4bc482967f5c13
|
|
Problem-ID: 161888
|
|
|
|
Upstream-Description:
|
|
|
|
lsluns: do not scan (all) if filters match nothing
|
|
|
|
Fix the following undesired behavior of lsluns to scan all resources if the
|
|
user provided filters did not match anything:
|
|
|
|
No valid combination found for adapter '5080'. Removing from resource
|
|
list.
|
|
No valid parameters left, using all available resources in system.
|
|
Scanning for LUNs on adapter 0.0.5080
|
|
...
|
|
|
|
Scanning can be resource consumptive. So if a user already wants to filter,
|
|
possibly to reduce resource consumption, he does not want to happen to scan
|
|
everything and thus consume the worst case of resources.
|
|
|
|
Instead print a message to inform the user why nothing was scanned.
|
|
|
|
Reported-by: Steffen Maier <maier@linux.vnet.ibm.com>
|
|
Signed-off-by: Jens Remus <jremus@linux.vnet.ibm.com>
|
|
Reviewed-by: Steffen Maier <maier@linux.vnet.ibm.com>
|
|
Reviewed-by: Benjamin Block <bblock@linux.vnet.ibm.com>
|
|
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
|
|
|
|
|
|
Signed-off-by: Jens Remus <jremus@linux.vnet.ibm.com>
|
|
---
|
|
zconf/lsluns | 8 +-------
|
|
1 file changed, 1 insertion(+), 7 deletions(-)
|
|
|
|
--- a/zconf/lsluns
|
|
+++ b/zconf/lsluns
|
|
@@ -219,7 +219,6 @@ sub get_env_list
|
|
|
|
@res = </sys/bus/ccw/drivers/zfcp/*.*.*/0x*>;
|
|
return () if (!@res);
|
|
-reload:
|
|
foreach my $entry (@res) {
|
|
my $a = ${[split('/', $entry)]}[-2];
|
|
my $p = ${[split('/', $entry)]}[-1];
|
|
@@ -243,12 +242,7 @@ reload:
|
|
}
|
|
|
|
if (!%res_hash) {
|
|
- print "\nNo valid parameters left, ",
|
|
- "using all available resources in system.\n\n";
|
|
- @$a_ref_list = ();
|
|
- @$p_ref_list = ();
|
|
- @t_arr = ();
|
|
- goto reload;
|
|
+ print "$PROGRAM_NAME: Adapter and/or port filter(s) did not match anything\n";
|
|
}
|
|
return %res_hash;
|
|
}
|