summaryrefslogtreecommitdiffstats
path: root/modules.d/95zfcp/parse-zfcp.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/95zfcp/parse-zfcp.sh')
-rwxr-xr-xmodules.d/95zfcp/parse-zfcp.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/modules.d/95zfcp/parse-zfcp.sh b/modules.d/95zfcp/parse-zfcp.sh
new file mode 100755
index 0000000..495aa67
--- /dev/null
+++ b/modules.d/95zfcp/parse-zfcp.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+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