Files
s390-tools/zconf/lszfcp.8
T
Steffen Maier b0dcc61ed5 lszfcp: fix to show non-good target ports again
s390-tools-1.8.1 introduced a regression skipping all fc_rports
with port_state != Online. While we need to skip some output parts
for a zfcp_port which does not exist anymore due to port_remove,
there are other cases with port_state != Online for which we should
not skip an fc_rport.

Such as port_state "Blocked" after a cable pull beyond host-adjacent switch
or port_state "Not Present" after dev_loss_tmo ran out.
This way the user can see the previously discovered ports,
even if they might currently not be usable for traffic.
Non-good ports are marked in the short output with suffix "NotOnline".
In order not to break scripting or expectations around lszfcp, make the new
feature depend on the extended output command line option.

Sysfs path globbing does not work for a removed zfcp_port
to obtain the FCP device bus-ID. Instead, properly walk the sysfs.

Examples with a removed zfcp_port:
$ lszfcp -Pe
0.0.50c0/0x500507680b2481fa rport-6:0-2
$ lszfcp -PeV
- (NoMoreZfcpPort:0.0.50c0/0x500507680b2481fa)
/sys/class/fc_remote_ports/rport-6:0-2

Examples with an existing zfcp_port but pulled fibre:
$ lszfcp -Pe
0.0.3c40/0x500507680b2181fb rport-7:0-4
$ lszfcp -PeV
/sys/devices/css0/defunct/0.0.3c40/0x500507680b2181fb
/sys/class/fc_remote_ports/rport-7:0-4

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Jens Remus <jremus@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
2019-03-26 17:12:07 +01:00

127 lines
4.0 KiB
Plaintext

.\" Copyright IBM Corp. 2006, 2019
.\" s390-tools is free software; you can redistribute it and/or modify
.\" it under the terms of the MIT license. See LICENSE for details.
.\"
.TH LSZFCP 8 "Feb 2019" "s390-tools"
.SH NAME
lszfcp \- list information about zfcp adapters, ports, and units
.SH SYNOPSIS
.B lszfcp
.RB [ \-hvVaHDPe ]
.RB [ \-b
.IR busid ]
.RB [ \-l
.IR lun ]
.RB [ \-p
.IR wwpn ]
.RB [ \-s
.IR /path/to/sys ]
.SH DESCRIPTION
.PP
.B lszfcp
provides information contained in sysfs about zfcp adapters, ports and
units and its associated scsi_hosts, fc_hosts, fc_remote_ports and
scsi_devices.
The default is to list busids of all zfcp adapters and their corresponding
SCSI host names.
There are three output variants. Default (without options "-a" or
"-V") is one line for each object. For adapters the busid and their
corresponding SCSI host names are listed. For ports the pair
"busid"/"wwpn" and their corresponding FC-remote-port names are listed.
For units the triple "busid"/"wwpn"/"lun" and their corresponding SCSI
device names are listed.
Option "-V" additionally shows the sysfs paths of interest for the
listed object.
If a SCSI device has an associated block device (disk)
and SCSI generic (sg) device, show their sysfs paths in a 3rd line.
Option "-a" additionally shows all attributes of interest found in
sysfs for the listed object.
Option "-e" enables an extended output format.
It enumerates all hosts/ports/luns independent of their state.
The extended output format can help determining problems.
Since a long time, without option "-e", lszfcp has
.I
not
enumerated:
ports with fc_rport port_state unequal to "Online" (such as fibres pulled).
.SH OPTIONS
.TP
.B -a, --attributes
Show all attributes of the specified objects.
.TP
.B -D, --devices
List zfcp units and SCSI devices.
.TP
.B -H, --hosts
List zfcp adapters and fc-hosts (default). Information is given only
for adapters that are online (registered at the SCSI stack).
.TP
.B -P, --ports
List zfcp ports and FC remote ports.
.TP
.B -b busid, --busid busid
Show zfcp adapter, fc-host selected by busid.
.TP
.B -l lun, --lun lun
List zfcp unit(s) and SCSI device(s) selected by lun. (Information for
several units might be shown if devices with equivalent LUNs are
configured for different adapters or ports.)
.TP
.B -p wwpn, --wwpn wwpn
List zfcp port(s) and FC remote port(s) selected by wwpn. (Information
for several ports might be shown if a remote port is configured for
different adapters.)
.TP
.B -e, --extended
Generate extended output.
.TP
.B -V, --verbose
Generate verbose output. Display sysfs path names of class and bus
devices that are of interest for this object.
If a SCSI device has an associated block device (disk)
and SCSI generic (sg) device, show their sysfs paths in a 3rd line.
.TP
.B -s, --sysfs /path/to/sys
Use path as sysfs (for dbginfo archives).
.TP
.B -h, --help
Print help message and exit.
.TP
.B -v, --version
Display version info and exit.
.SH NOTE
.PP
Options "-b", "-p" or "-l" are of restricting nature. They limit the output
to those adapters, ports or units that match the specified busid, wwpn and lun.
If none of the options "-H", "-P" and "-D" are specified, "-b" implies "-H",
"-p" implies "-P" and "-l" implies "-D".
.SH EXAMPLES
.PP
.IP "lszfcp -P -H -D -V"
Show all device paths of all zfcp adapters, ports, units and its
associated SCSI devices, SCSI hosts, FC hosts and FC remote ports
.PP
.IP "lszfcp -b 0.0.0815 -a"
Show all attributes of ccw_device, scsi_host and fc_host which belong
to the adapter with busid "0.0.0815".
.IP "lszfcp -D -b 0.0.0815 -p 0x5005123456789000 -l 0x0000000000000000"
Show the device which matches the given busid, wwpn and lun.
.IP "lszfcp -b 0.0.0815 -p 0x5005123456789000 -l 0x0000000000000000"
Show all adapters that match the given busid, all ports that match the given
busid and wwpnn and show all units that match the given busid, wwpn and lun.
.IP "lszfcp -b 0.0.0815 -p 0x5005123456789000 -l 0x0000000000000000 -H -P -D"
Generates same output as previous example.
.SH "SEE ALSO"
.BR lscss (8)