s390-tools/s390-tools-sles15-lsluns-do-not-scan-all-if-filters-match-nothing.patch
Mark Post d3b5067da2 Accepting request 554611 from home:markkp:branches:Base:System
- 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
2017-12-05 19:04:03 +00:00

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;
}