From 8d6098969aa9dc34edfd1bc96e6aa0384ae2fb99 Mon Sep 17 00:00:00 2001
From: Steffen Maier <maier@linux.ibm.com>
Date: Tue, 31 Jan 2023 09:14:40 +0100
Subject: [PATCH 09/23] feat(zfcp): minimize zfcp handling consolidated in
s390-tools
Parsing of rd.zfcp is handled by s390-tools zdev dracut module 95zdev as of
https://github.com/ibm-s390-linux/s390-tools/commit/06a30ae529a5d6ad2369ed81da056bf3a6147bb6
("zdev/dracut: add rd.zfcp cmdline option handling").
Even though this removes the last implementation of parsing rd.zfcp in
dracut, above s390-tools change introduces another implementation of
parsing the exact same rd.zfcp syntax. Therefore, it would be good to keep
the documentation in man/dracut.cmdline.7 of dracut as one central place
describing all s390 device types that dracut handles.
For the time being, keep copying /etc/zfcp.conf.
Retain the call of zfcp_cio_free so /etc/zfcp.conf gets processed even
with the typical cio_ignore kernel boot parameter ignoring most devices.
Also keep handling rd.zfcp.conf=0 so users can, at boot time, ignore
/etc/zfcp.conf already copied into initrd.
Preparation for consolidating persistent configuration with zdev.
Signed-off-by: Steffen Maier <maier@linux.ibm.com>
---
man/dracut.cmdline.7.asc | 12 +++++++++++-
modules.d/95zfcp/module-setup.sh | 4 ++--
modules.d/95zfcp/parse-zfcp.sh | 11 -----------
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/man/dracut.cmdline.7.asc b/man/dracut.cmdline.7.asc
index 858991fa..01bdf10f 100644
--- a/man/dracut.cmdline.7.asc
+++ b/man/dracut.cmdline.7.asc
@@ -980,12 +980,22 @@ ZFCP
**rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
rd.zfcp can be specified multiple times on the kernel command
line.
++
+NOTE:
+ This parameter is no longer handled by dracut itself but with the exact
+ same syntax by
+ https://github.com/ibm-s390-linux/s390-tools/tree/master/zdev/dracut/95zdev.
**rd.zfcp=**__<zfcp adaptor device bus ID>__::
If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp
- module is set to 'Y' then the zfcp adaptor will be initiating a
+ module is set to 'Y' then the zfcp driver will be initiating a
scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
+
+NOTE:
+ This parameter is no longer handled by dracut itself but with the exact
+ same syntax by
+ https://github.com/ibm-s390-linux/s390-tools/tree/master/zdev/dracut/95zdev.
++
[listing]
.Example
--
diff --git a/modules.d/95zfcp/module-setup.sh b/modules.d/95zfcp/module-setup.sh
index e1f3aa35..b547f9bc 100755
--- a/modules.d/95zfcp/module-setup.sh
+++ b/modules.d/95zfcp/module-setup.sh
@@ -5,7 +5,7 @@ check() {
arch=${DRACUT_ARCH:-$(uname -m)}
[ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
- require_binaries zfcp_cio_free grep sed seq || return 1
+ require_binaries zfcp_cio_free sed || return 1
return 0
}
@@ -23,7 +23,7 @@ installkernel() {
# called by dracut
install() {
inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
- inst_multiple zfcp_cio_free grep sed seq
+ inst_multiple zfcp_cio_free sed
inst_script /sbin/zfcpconf.sh
inst_rules 56-zfcp.rules
diff --git a/modules.d/95zfcp/parse-zfcp.sh b/modules.d/95zfcp/parse-zfcp.sh
index 495aa67f..41216dd9 100755
--- a/modules.d/95zfcp/parse-zfcp.sh
+++ b/modules.d/95zfcp/parse-zfcp.sh
@@ -2,15 +2,4 @@
getargbool 1 rd.zfcp.conf -d -n rd_NO_ZFCPCONF || rm /etc/zfcp.conf
-for zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do
- echo "$zfcp_arg" | grep '^0\.[0-9a-fA-F]\.[0-9a-fA-F]\{4\}\(,0x[0-9a-fA-F]\{16\},0x[0-9a-fA-F]\{16\}\)\?$' > /dev/null
- test $? -ne 0 && die "For argument 'rd.zfcp=$zfcp_arg'\nSorry, invalid format."
- (
- IFS=","
- # shellcheck disable=SC2086
- set $zfcp_arg
- echo "$@" >> /etc/zfcp.conf
- )
-done
-
zfcp_cio_free
--
2.42.0