[Bug 1790831] Update Released

Ɓukasz Zemczak 1790831 at bugs.launchpad.net
Thu Mar 7 10:24:57 UTC 2019


The verification of the Stable Release Update for s390-tools has
completed successfully and the package has now been released to
-updates.  Subsequently, the Ubuntu Stable Release Updates Team is being
unsubscribed and will not receive messages about this bug report.  In
the event that you encounter a regression using the package from
-updates please report a new bug using ubuntu-bug and tag the bug report
regression-update so we can easily find any regressions.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to s390-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1790831

Title:
  lstape, lsluns: handle non-zfcp; lin_tape multiple paths

Status in Ubuntu on IBM z Systems:
  Fix Committed
Status in s390-tools package in Ubuntu:
  Fix Released
Status in s390-tools source package in Bionic:
  Fix Released

Bug description:
  Description: lstape, lsluns: handle non-zfcp; lin_tape multiple paths

  Symptom: lstape shows unexpected additional Device suffix numbers in
  excess output columns for each additional path of the same
  tape/changer driven by the IBM lin_tape device driver
  (independent of actual path failover enablement in lin_tape).
  It also shows a wrong number of found devices in the header
  (without --scsi-only).

  lstape prints error about "Unexpected extra argument:" and the
  usage for "sg_inq" along with wrong tabular output.

  lsluns prints ENOENT error text for "cat" on SCSI device sysfs
  attributes hba_id, wwpn, and fcp_lun.

  lstape with --verbose option prints ENOENT error text for
  "cat" on SCSI device sysfs attributes hba_id and wwpn.

  lstape man page: Description of --type and <devbusid> filter
  for channel tapes is incomplete. SCSI output description is
  incomplete.

  lstape shows "N/A" instead of the HBA device bus-ID with
  virtio-scsi-ccw.

  Problem: s390-tools-1.8.0 before the first upstream commit b627b8d8e1ab
  ("Initial s390-tools-2.0.0 import") introduced SCSI
  tape/changer output for lstape. It used the SCSI device serial
  number as lookup key to find a match in IBM lin_tape device
  driver proc-fs output for a given SCSI device name. Multiple
  paths to the same tape/changer have the same serial number.
  Multiple matches cause excess arguments to printf. Explaining
  the resulting output, the bash man page says: "The format is
  reused as necessary to consume all of the arguments." This
  also causes a wrong number of found devices.

  The default bash settings have nullglob disabled so if
  $SCSI_DEV/scsi_generic* aka
  /sys/bus/scsi/devices/*:*:*:*/scsi_generic* does not match
  anything, it leaves the glob pattern unmodified and
  SG_DEV=$(basename $SG_DEV/*) results in the literal "*". If
  $SG_INQ exists, it invoked sg_inq with more than the one
  allowed positional argument for a SCSI generic device node
  "sg_inq /dev/*". Causing error messages and the usage of
  sg_inq to land in $TAPE_SERIAL.

  lsluns iterates SCSI generic devices and unconditionally
  reads zfcp-specific SCSI device sysfs attributes hba_id, wwpn,
  and fcp_lun.

  lstape --verbose unconditionally reads zfcp-specific SCSI
  device sysfs attributes hba_id and wwpn.

  <devbusid> filter missing from synopsis. <device-type> example
  at wrong place with <devbusid> filter. <devbusid> filter
  option description is a duplicate of <device-type> filter
  option description. SCSI output description misses fields.

  Lstape only used the zfcp-specific sysfs attribute hba_id.

  Solution: Prefer sysfs to find lin_tape device name for SCSI device.
  Fallback: The lin_tape proc-fs output format has changed over
  the years. The HBA device driver string can contain whitespace
  (e.g. "Virtio SCSI HBA") and breaks the field numbers with
  tokenized parsing. Grep for the SCSI device name as word (to
  skip names with same substring, such as 0:0:1:1 also matching
  0:0:1:10) and cut the first field 'Number' (lin_tape device
  name suffix). If there is no SCSI column at all [lin_tape
  before v2.2.0] (and no SCSI LLDD or other column with a name
  accidentally matching an existing SCSI device name), we get no
  match and better bail out with the initialized "N/A" for the
  lstape column "Device".

  To not have to rely on the nullglob setting, explicitly check
  for the existence of $SCSI_DEV/scsi_generic before evaluating
  SG_DEV=$(basename $SG_DEV/*). Also handle availability of
  sg_inq but absence of scsi_generic individually to provide the
  user with a hint if only sg is missing.

  Simply skip non-zfcp SCSI devices, such as iSCSI or
  virtio-scsi-ccw, to not erroneously access absent attributes.

  Assume "N/A" for HBA and WWPN of non-zfcp SCSI devices, such
  as iSCSI or virtio-scsi-ccw, to not erroneously access absent
  zfcp-specific sysfs attributes.

  Add <devbusid> filter to synopsis. Move <device-type> example
  to <device-type> option. Replace <devbusid> filter option
  description. Move existing SCSI output description to a new
  subsection and add description of missing fields.

  Also search sysfs for an ancestor with subsystem ccw.

  Reproduction: Attach more than one path to the same SCSI tape or changer and
  load the IBM lin_tape device driver.

  Unload sg kernel module.

  Attach non-zfcp SCSI devices such as iSCSI or virtio-scsi-ccw.

  Attach non-zfcp SCSI devices such as iSCSI or virtio-scsi-ccw.

  man lstape

  Attach SCSI tape or changer with virtio-scsi-ccw to a KVM
  guest and run "lstape --verbose".

  This fix will be introduced with s390-tools 2.7.0

  https://github.com/ibm-s390-tools/s390-tools/commits/master

  Following git-commits are required
  ef4dc7a45b1b80c58076a0a317245569d84b2754
  cdc787db1ba17dd2c0ed841fd7443bc32be63b65
  80e0c41b896e1eeffc594416b4c2787ed29363b6
  eba744a25edcc7202068c1d46fd99d4c98c1acf2
  4cf8f5f46c0f80b49a2a70854372289c3fda932b
  b9b3d2d23069e021693a251a3aadd4eefc30e6ea
  34260f17360f1034c562c941b0f879c2204e40b7
  d5291eed1c46e1c97831e771b2975575ba268992

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1790831/+subscriptions



More information about the foundations-bugs mailing list