[Bug 1908371] Re: [UBUNTU 20.04] - zipl command doesn't work correctly with -M option
Launchpad Bug Tracker
1908371 at bugs.launchpad.net
Thu Jan 28 16:23:51 UTC 2021
This bug was fixed in the package s390-tools - 2.14.0-1ubuntu1.1
---------------
s390-tools (2.14.0-1ubuntu1.1) groovy; urgency=medium
* debian/patches/s390-tools-sru-lp1903984-groovy.patch
zcryptstats: Fix handling of partial results with many domains
Thanks to Ingo Franzki (LP: #1903984)
* debian/patches/s390-tools-sru-lp1898935-groovy.patch:
chcpumf installed with s390-tools version 2.14.0
no longer provides version or help information
backport, actually cherry-pick, from s390-tools v2.15.1 to v2.14
Thanks to Thomas Richter (LP: #1898935)
* debian/patches/s390-tools-sru-lp1908371-groovy.patch:
zipl command isn't working correctly in combination with the -M
(respectively --mvdump) option.
cherry-picking 4 commits from s390-tools v2.15.1 to v2.14
Thanks to Stefan Haberland and Sven Schnelle (LP: #1908371)
-- Frank Heimes <frank.heimes at canonical.com> Tue, 19 Jan 2021 19:23:32
+0100
** Changed in: s390-tools (Ubuntu Groovy)
Status: Fix Committed => Fix Released
--
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/1908371
Title:
[UBUNTU 20.04] - zipl command doesn't work correctly with -M option
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 Focal:
Fix Released
Status in s390-tools source package in Groovy:
Fix Released
Status in s390-tools source package in Hirsute:
Fix Released
Bug description:
Zipl command doesn't work correctly with -M option.
There is an error at preparing of multi-volume dump taking because of Bus-ID for 1st disk partition listed in file dump_conf (DEVLIST) isn't found. At the same time LSDASD command shows this Bus-ID and ZIPL command with -d option works correctly.
[root at t8375009 ~]# lsdasd
Bus-ID Status Name Device Type BlkSz Size Blocks
================================================================================
0.0.2c58 active dasda 94:0 ECKD 4096 21129MB 5409180
0.0.2c5b active dasdb 94:4 ECKD 4096 21129MB 5409180
0.0.2c59 active dasdc 94:8 ECKD 4096 21129MB 5409180
0.0.2c5a active dasdd 94:12 ECKD 4096 21129MB 5409180
[root at t8375009 ~]#
[root at t8375009 ~]# systemctl stop kdump.service
[root at t8375009 ~]# lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
[root at t8375009 ~]# cat dump_conf
/dev/dasdc1
/dev/dasdd1
[root at t8375009 ~]# zipl -M dump_conf
Error: Could not find bus-ID for '/dev/dasdc1'
[root at t8375009 ~]#
[root at t8375009 ~]# zipl -d /dev/dasdc1
Dump target: partition '/dev/dasdc1' with a size of 21129 MB.
Warning: All information on partition '/dev/dasdc1' will be lost!
Do you want to continue creating a dump partition (y/n)?yes
Done.
[root at t8375009 ~]#
[root at t8375009 ~]# zipl -M dump_conf
Error: Could not find bus-ID for '/dev/dasdc1'
---Steps to Reproduce---
[root at t8375009 ~]# lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
[root at t8375009 ~]# cat dump_conf
/dev/dasdc1
/dev/dasdd1
[root at t8375009 ~]# zipl -M dump_conf
Stack trace output:
no
Oops output:
Error: Could not find bus-ID for '/dev/dasdc1'
System Dump Info:
The system is not configured to capture a system dump.
Fix provided upstream with
https://github.com/ibm-s390-tools/s390-tools/releases/tag/v2.15.1
Commits:
https://github.com/ibm-s390-tools/s390-tools/commit/fa7a4dafa3d89b2e8787de102e4362e895d44b05
https://github.com/ibm-s390-tools/s390-tools/commit/aa8c2945cc7b047c626e75817c6a3e3924413023
https://github.com/ibm-s390-tools/s390-tools/commit/6802b86414b48c4f118da09c7bf7ee142a459fa0
__________
SRU Bug Template
[Impact]
* The zipl command doesn't work correctly in combination with the -M
(respectively --mvdump) option.
* There is an error with the preparation of multi-volume dumps,
since the bus-ID for the first disk partition that is listed in file dump_conf (DEVLIST) isn't found.
* But the lsdasd command shows this bus-ID and the zipl command with
the -d option works correctly here.
[Test Case]
* An Ubuntu Server 20.04 or 20.10 system running on z/VM or LPAR with
two or more DASD ECKD disks configured.
* Let's assume the following DASDs are in place:
# lsdasd
Bus-ID Status Name Device Type BlkSz Size Blocks
========================================================================
0.0.2c58 active dasda 94:0 ECKD 4096 21129MB 5409180
0.0.2c5b active dasdb 94:4 ECKD 4096 21129MB 5409180
0.0.2c59 active dasdc 94:8 ECKD 4096 21129MB 5409180
0.0.2c5a active dasdd 94:12 ECKD 4096 21129MB 5409180
* Then perform the following steps to test:
# systemctl stop kdump.service
# lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
# cat dump_conf
/dev/dasdc1
/dev/dasdd1
# zipl -M dump_conf
Error: Could not find bus-ID for '/dev/dasdc1'
# zipl -d /dev/dasdc1
Dump target: partition '/dev/dasdc1' with a size of 21129 MB.
Warning: All information on partition '/dev/dasdc1' will be lost!
Do you want to continue creating a dump partition (y/n)?yes
Done.
# zipl -M dump_conf
Error: Could not find bus-ID for '/dev/dasdc1'
# lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
# cat dump_conf
/dev/dasdc1
/dev/dasdd1
# zipl -M dump_conf
[Where problems could occur]
* The first commit doesn't modify or remove code, it largely adds just three new funtions util_sys_get_partnum,
util_sys_dev_is_partition and util_sys_get_base_dev, which usually cannot cause more problems than compile time errors.
* However, the second commit removes the functions blkext_get_partnum, blkext_is_base_device and blkext_get_base_dev.
Potential issues due to this removal should again crop up at compile time.
In addition disk_is_eckd was modified and the blkext_* function based code got replaced by util_sys_* funtion based code.
* Issues here may lead to not properly detected DASD ECKD disk, maybe DASD FBA or FCP instead
and since those different disk types have different characteristics (like different amount of partitions)
this could end up in errornously partition handling and eventually zipl crashes.
* The third commit 6802b86 adds some more safety (and with that the actually needed fix),
in a way that the major and minor (ccw-) device number are now obtained based on their base device,
but only if a base device is present, it fails with returing -1 otherwise.
* Issues that are thinkable here are in case base devices are not properly detected, rdev addresses wrongly handled
or major / minor numbers inverted - but these changes are limited, straight-forward and traceable.
* These changes are already upstream accepted with version 2.15.1 and
apply cleanly on 2.14 (groovy) and 2.12 (focal).
* And a PPA was prepared with patched s390-tools package that was
shared for further testing.
[Other]
* Since hirsute is already on 2.15.1 this SRU is only needed for
groovy and focal.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1908371/+subscriptions
More information about the foundations-bugs
mailing list