[UBUNTU 20.04] - zipl command doesn't work correctly with -M option
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Medium
|
Skipper Bug Screeners | ||
s390-tools (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Frank Heimes | ||
Groovy |
Fix Released
|
Medium
|
Frank Heimes | ||
Hirsute |
Fix Released
|
Medium
|
Unassigned |
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@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@t8375009 ~]#
[root@t8375009 ~]# systemctl stop kdump.service
[root@t8375009 ~]# lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
[root@t8375009 ~]# cat dump_conf
/dev/dasdc1
/dev/dasdd1
[root@t8375009 ~]# zipl -M dump_conf
Error: Could not find bus-ID for '/dev/dasdc1'
[root@t8375009 ~]#
[root@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@t8375009 ~]#
[root@t8375009 ~]# zipl -M dump_conf
Error: Could not find bus-ID for '/dev/dasdc1'
---Steps to Reproduce---
[root@t8375009 ~]# lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
[root@t8375009 ~]# cat dump_conf
/dev/dasdc1
/dev/dasdd1
[root@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:/
Commits:
https:/
https:/
https:/
__________
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_
util_
* However, the second commit removes the functions blkext_get_partnum, blkext_
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.
Related branches
- Lukas Märdian (community): Approve
-
Diff: 1194 lines (+1160/-0)5 files modifieddebian/changelog (+17/-0)
debian/patches/s390-tools-sru-lp1902179-focal.patch (+689/-0)
debian/patches/s390-tools-sru-lp1903984-focal.patch (+49/-0)
debian/patches/s390-tools-sru-lp1908371-focal.patch (+402/-0)
debian/patches/series (+3/-0)
- Lukas Märdian (community): Approve
-
Diff: 578 lines (+544/-0)5 files modifieddebian/changelog (+18/-0)
debian/patches/s390-tools-sru-lp1898935-groovy.patch (+72/-0)
debian/patches/s390-tools-sru-lp1903984-groovy.patch (+49/-0)
debian/patches/s390-tools-sru-lp1908371-groovy.patch (+402/-0)
debian/patches/series (+3/-0)
tags: | added: architecture-s39064 bugnameltc-187221 severity-medium targetmilestone-inin2004 |
Changed in ubuntu: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
affects: | ubuntu → linux (Ubuntu) |
affects: | linux (Ubuntu) → s390-tools (Ubuntu) |
Changed in s390-tools (Ubuntu): | |
importance: | Undecided → Medium |
Changed in ubuntu-z-systems: | |
importance: | Undecided → Medium |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
Changed in s390-tools (Ubuntu Hirsute): | |
assignee: | Skipper Bug Screeners (skipper-screen-team) → nobody |
Changed in s390-tools (Ubuntu Groovy): | |
importance: | Undecided → Medium |
Changed in s390-tools (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in s390-tools (Ubuntu Hirsute): | |
status: | New → Fix Released |
Changed in ubuntu-z-systems: | |
status: | New → Triaged |
summary: |
[UBUNTU 20.04] - zipl command doesn't work correctly with -M option - (s390utils/s390-tools?) |
Changed in s390-tools (Ubuntu Groovy): | |
assignee: | nobody → Frank Heimes (fheimes) |
Changed in s390-tools (Ubuntu Focal): | |
assignee: | nobody → Frank Heimes (fheimes) |
status: | New → Triaged |
Changed in s390-tools (Ubuntu Groovy): | |
status: | New → Triaged |
description: | updated |
Changed in s390-tools (Ubuntu Groovy): | |
status: | Triaged → In Progress |
Changed in s390-tools (Ubuntu Focal): | |
status: | Triaged → In Progress |
Changed in ubuntu-z-systems: | |
status: | Triaged → In Progress |
Changed in ubuntu-z-systems: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
------- Comment From <email address hidden> 2020-12-16 04:08 EDT-------
For 2.12 patch 2nd is not needed because the prerequisit is not there...
So the following patches should be applied:
2.14:
(1) https:/ /github. com/ibm- s390-tools/ s390-tools/ commit/ fa7a4dafa3d89b2 e8787de102e4362 e895d44b05 /github. com/ibm- s390-tools/ s390-tools/ commit/ aa8c2945cc7b047 c626e75817c6a3e 3924413023 /github. com/ibm- s390-tools/ s390-tools/ commit/ 6802b86414b48c4 f118da09c7bf7ee 142a459fa0
(2) https:/
(3) https:/
2.12:
(1) https:/ /github. com/ibm- s390-tools/ s390-tools/ commit/ fa7a4dafa3d89b2 e8787de102e4362 e895d44b05 /github. com/ibm- s390-tools/ s390-tools/ commit/ 6802b86414b48c4 f118da09c7bf7ee 142a459fa0
(2) -
(3) https:/