From 2336d137ad666136867d6ec6876bdac1e77d4f04 Mon Sep 17 00:00:00 2001 From: Steffen Maier Date: Thu, 9 Mar 2023 14:38:55 +0100 Subject: [PATCH] onpanic: add support for multipathed zfcp-attached SCSI disks Depends on https://build.opensuse.org/package/show/Base:System/s390-tools commit ("mkdump: add support for multipathed zfcp-attached SCSI disks") from SUSE bug 1216257. Users should use multipathing for all zfcp-attached SCSI disks. Since a long time, zipl can write the partition-based zfcpdump standalone dumper boot record to a multipath device. This avoids users having to flush multipath maps or maintain a multipath exception list just for zfcp dump volumes. Always having multipathing for everything also provides redundant access to the dump volume on importing the dump from the volume into a filesystem after the standalone dumper had written the dump. An updated mkdump.pl from SUSE s390-tools understands and lists such multipath devices. Make "yast onpanic" understand /dev/mapper/... multipath devices as better alternative to single path SCSI disks /dev/sd[a-z]+. Fixes SUSE bug 1020336. Signed-off-by: Steffen Maier --- src/modules/OnPanic.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/OnPanic.rb b/src/modules/OnPanic.rb index d10b9bc6..7fde6317 100644 --- a/src/modules/OnPanic.rb +++ b/src/modules/OnPanic.rb @@ -95,7 +95,7 @@ def ConvertMkdumpToConf(dev_line) Ops.get(entry, 0), "^/dev/dasd[[:lower:]]+$" ) - is_zfcp = Builtins.regexpmatch(Ops.get(entry, 0), "^/dev/sd[[:lower:]]+$") + is_zfcp = Builtins.regexpmatch(Ops.get(entry, 0), "^/dev/(sd[[:lower:]]+|mapper/.*)$") if is_dasd dev = Builtins.add(dev, "DUMP_TYPE", "ccw") @@ -135,7 +135,7 @@ def ConvertConfToMkdump(dev) Ops.get(line, 2) == Ops.get(dev, "DEVICE") || # check for fitting zfcp type == "fcp" && - Builtins.regexpmatch(Ops.get(line, 0), "^/dev/sd[[:lower:]]+") && + Builtins.regexpmatch(Ops.get(line, 0), "^/dev/(sd[[:lower:]]+|mapper/)") && Ops.get(line, 2) == Ops.get(dev, "DEVICE") && Ops.get(line, 3) == Ops.get(dev, "WWPN") && Ops.get(line, 4) == Ops.get(dev, "LUN") # check for fitting dasd