** Merge proposal linked: https://code.launchpad.net/~fheimes/ubuntu/+source/s390-tools/+git/s390-tools/+merge/396718
** Description changed: 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 ~]# 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 - + no + Oops output: - Error: Could not find bus-ID for '/dev/dasdc1' - + Error: Could not find bus-ID for '/dev/dasdc1' + System Dump Info: - The system is not configured to capture a system dump. - + 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. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1908371 Title: [UBUNTU 20.04] - zipl command doesn't work correctly with -M option To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/1908371/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs