d2403fb3d3
* s390-tools-01-zipl_helper.device-mapper-add-missed-step-in-logical.patch - Amended the /usr/lib/modules-load.d/pkey.conf (bsc#1233233). Added * pkey_cca * pkey_ep11 * pkey_pckmo OBS-URL: https://build.opensuse.org/package/show/Base:System/s390-tools?expand=0&rev=230
68 lines
2.0 KiB
Diff
68 lines
2.0 KiB
Diff
From 2d26a63806d2847f549c06276070a636a61bcb80 Mon Sep 17 00:00:00 2001
|
|
From: Eduard Shishkin <edward6@linux.ibm.com>
|
|
Date: Wed, 4 Dec 2024 13:37:46 +0100
|
|
Subject: [PATCH s390-tools] zipl_helper.device-mapper: add missed step in
|
|
logical device resolution
|
|
|
|
This fixes 670bf3e
|
|
|
|
Preparing a loop device for IPL by zipl tool, using its partition as
|
|
zipl target, leads to inconsistent installation setup. The problem is in
|
|
a missed step in the procedure of logical device resolution performed
|
|
by the script zipl_helper.device-mapper:
|
|
|
|
\# lsblk
|
|
|
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
|
loop0 7:0 0 5G 0 loop
|
|
|-loop0p1 253:15 0 128M 0 part
|
|
`-loop0p2 253:16 0 4.9G 0 part /mnt
|
|
|
|
\# ./zipl_helper.device-mapper 253:16
|
|
|
|
Expected result:
|
|
|
|
targetbase=7:0
|
|
targettype=SCSI
|
|
targetblocksize=4096
|
|
targetoffset=32784
|
|
|
|
Actual result:
|
|
|
|
targetbase=253:16
|
|
targettype=SCSI
|
|
targetblocksize=4096
|
|
targetoffset=32784
|
|
|
|
The fixup adds a missed resolution step.
|
|
|
|
Reference-ID: LTC210771
|
|
Signed-off-by: Eduard Shishkin <edward6@linux.ibm.com>
|
|
---
|
|
zipl/src/zipl_helper.device-mapper.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/zipl/src/zipl_helper.device-mapper.c b/zipl/src/zipl_helper.device-mapper.c
|
|
index aca52be1..918c5aba 100644
|
|
--- a/zipl/src/zipl_helper.device-mapper.c
|
|
+++ b/zipl/src/zipl_helper.device-mapper.c
|
|
@@ -1306,13 +1306,13 @@ static int complete_physical_device(struct physical_device *pd, dev_t *base_dev)
|
|
*base_dev = base_entry->dev.dev;
|
|
} else {
|
|
/*
|
|
- * In this case base device is the uppermost logical
|
|
+ * In this case base device is the uppermost
|
|
* device which provides access to boot sectors
|
|
*/
|
|
base_entry = find_base_entry(pd->dmpath, dc->bootsectors);
|
|
if (!base_entry)
|
|
return -1;
|
|
- *base_dev = base_entry->dev.dev;
|
|
+ *base_dev = first_device_by_target_data(base_entry->target);
|
|
}
|
|
/* Check for valid offset of filesystem */
|
|
if ((pd->offset % (dc->blocksize / SECTOR_SIZE)) != 0) {
|
|
--
|
|
2.39.0
|
|
|