Blob Blame History Raw
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