9f28177407
- Update to dracut mainline version 041. Half of the patches got integrated mainline. Some others have been merged together when it made sense some have been left out, but are still in the repository as they need some special treating and mainline discussion whether/how they get added. These are also not urgently needed, but are debugging patches. I broke the rule here to mention every added/deleted/modified patch as every patch is touched and every 2nd got removed (mainline integrated). I also re-ordered the patches in the PatchXY: area for easier merging them and get them discussed and posted mainline easier, topic by topic. OBS-URL: https://build.opensuse.org/request/show/293267 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=214
74 lines
2.4 KiB
Diff
74 lines
2.4 KiB
Diff
From 3d918eb5be673f243dc75b358a35e1ed307f0ea5 Mon Sep 17 00:00:00 2001
|
|
From: Hannes Reinecke <hare@suse.de>
|
|
Date: Thu, 26 Jun 2014 13:44:05 +0200
|
|
Subject: 95zfcp_rules: print out rd.zfcp commandline parameter
|
|
|
|
When called with '--hostonly-cmdline' the module should print
|
|
out the configuration.
|
|
|
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
---
|
|
modules.d/95zfcp_rules/module-setup.sh | 39 +++++++++++++++++++++++++++++++++-
|
|
1 file changed, 38 insertions(+), 1 deletion(-)
|
|
|
|
Index: dracut-041/modules.d/95zfcp_rules/module-setup.sh
|
|
===================================================================
|
|
--- dracut-041.orig/modules.d/95zfcp_rules/module-setup.sh 2015-03-17 13:20:39.928139743 +0100
|
|
+++ dracut-041/modules.d/95zfcp_rules/module-setup.sh 2015-03-17 13:20:40.528173186 +0100
|
|
@@ -1,10 +1,40 @@
|
|
#!/bin/bash
|
|
|
|
# called by dracut
|
|
+cmdline() {
|
|
+ is_zfcp() {
|
|
+ local _dev=$1
|
|
+ local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD)
|
|
+ local _sdev _lun _wwpn _ccw
|
|
+
|
|
+ [ "${_devpath#*/sd}" == "$_devpath" ] && return 1
|
|
+ _sdev="${_devpath%%/block/*}"
|
|
+ [ -e ${_sdev}/fcp_lun ] || return 1
|
|
+ _lun=$(cat ${_sdev}/fcp_lun)
|
|
+ _wwpn=$(cat ${_sdev}/wwpn)
|
|
+ _ccw=$(cat ${_sdev}/hba_id)
|
|
+ echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
|
|
+ return 1
|
|
+ }
|
|
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
|
|
+ for_each_host_dev_and_slaves is_zfcp
|
|
+ }
|
|
+}
|
|
+
|
|
+# called by dracut
|
|
check() {
|
|
local _arch=$(uname -m)
|
|
+ local _ccw
|
|
[ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
|
|
- require_binaries zfcp_disk_configure /usr/lib/udev/collect || return 1
|
|
+ require_binaries /usr/lib/udev/collect || return 1
|
|
+
|
|
+ [[ $hostonly ]] || [[ $mount_needs ]] && {
|
|
+ for _ccw in /sys/bus/ccw/devices/*/host* ; do
|
|
+ [ -d "$_ccw" ] || continue
|
|
+ found=$(($found+1));
|
|
+ done
|
|
+ [ $found -eq 0 ] && return 255
|
|
+ }
|
|
return 0
|
|
}
|
|
|
|
@@ -17,6 +47,13 @@
|
|
install() {
|
|
inst_multiple /usr/lib/udev/collect
|
|
inst_hook cmdline 30 "$moddir/parse-zfcp.sh"
|
|
+ if [[ $hostonly_cmdline == "yes" ]] ; then
|
|
+ local _zfcp
|
|
+
|
|
+ for _zfcp in $(cmdline) ; do
|
|
+ printf "%s\n" "$zfcp" >> "${initdir}/etc/cmdline.d/94zfcp.conf"
|
|
+ done
|
|
+ fi
|
|
if [[ $hostonly ]] ; then
|
|
inst_rules_wildcard 51-zfcp-*.rules
|
|
inst_rules_wildcard 41-s390x-zfcp-*.rules
|