bedbf92432
Add: * 0170-iscsi-skip-ibft-invalid-dhcp.patch * 0160-s390-update_active_devices_initrd.patch * 0161-95zfcp_rules-simplified-rd.zfcp-commandline-for-NPIV.patch * 0190-replace-iscsistart-with-systemd-service-files.patch * 0191-static_network_setup_return_zero.patch * 0192-iscsi_set_boot_protocol_from_ifcfg.patch * 0193-95iscsi-Set-number-of-login-retries.patch * 0403-95lunmask-Add-module-to-handle-LUN-masking.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=256
95 lines
3.7 KiB
Diff
95 lines
3.7 KiB
Diff
From 61d345654fbdd895a406a5a7517f01a7c984a7ed Mon Sep 17 00:00:00 2001
|
|
From: Hannes Reinecke <hare@suse.de>
|
|
Date: Thu, 10 Mar 2016 15:45:43 +0100
|
|
Subject: [PATCH] 95zfcp_rules: simplified rd.zfcp commandline for NPIV
|
|
|
|
When NPIV is enabled and the allow_lun_scan parameter is set to 'Y'
|
|
the HBA will initiate a LUN scan automatically, so there is no need
|
|
to specify the WWPN and LUN number manually.
|
|
|
|
References: bsc#964456
|
|
|
|
Signed-off-by: Hannes Reinecke <hare@suse.com>
|
|
---
|
|
dracut.cmdline.7.asc | 9 ++++++++-
|
|
modules.d/95zfcp_rules/module-setup.sh | 23 +++++++++++++++++++----
|
|
modules.d/95zfcp_rules/parse-zfcp.sh | 1 +
|
|
3 files changed, 28 insertions(+), 5 deletions(-)
|
|
|
|
Index: dracut-044/dracut.cmdline.7.asc
|
|
===================================================================
|
|
--- dracut-044.orig/dracut.cmdline.7.asc 2016-04-12 15:48:42.072804543 +0200
|
|
+++ dracut-044/dracut.cmdline.7.asc 2016-04-12 15:48:46.869076048 +0200
|
|
@@ -771,12 +771,19 @@ DASD
|
|
ZFCP
|
|
~~~~
|
|
**rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
|
|
- rd.zfcp can be specified multiple times on the kernel command line.
|
|
+ rd.zfcp can be specified multiple times on the kernel command
|
|
+ line.
|
|
+
|
|
+**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
|
|
+ scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
|
|
+
|
|
[listing]
|
|
.Example
|
|
--
|
|
rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
|
|
+rd.zfcp=0.0.4000
|
|
--
|
|
|
|
**rd.zfcp.conf=0**::
|
|
Index: dracut-044/modules.d/95zfcp_rules/module-setup.sh
|
|
===================================================================
|
|
--- dracut-044.orig/modules.d/95zfcp_rules/module-setup.sh 2016-04-12 15:48:42.072804543 +0200
|
|
+++ dracut-044/modules.d/95zfcp_rules/module-setup.sh 2016-04-12 15:48:46.869076048 +0200
|
|
@@ -5,15 +5,30 @@ cmdline() {
|
|
is_zfcp() {
|
|
local _dev=$1
|
|
local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD)
|
|
- local _sdev _lun _wwpn _ccw
|
|
+ local _sdev _scsiid _hostno _lun _wwpn _ccw _port_type
|
|
+ local _allow_lun_scan _is_npiv
|
|
|
|
+ _allow_lun_scan=$(cat /sys/module/zfcp/parameters/allow_lun_scan)
|
|
[ "${_devpath#*/sd}" == "$_devpath" ] && return 1
|
|
_sdev="${_devpath%%/block/*}"
|
|
[ -e ${_sdev}/fcp_lun ] || return 1
|
|
- _lun=$(cat ${_sdev}/fcp_lun)
|
|
- _wwpn=$(cat ${_sdev}/wwpn)
|
|
+ _scsiid="${_sdev##*/}"
|
|
+ _hostno="${_scsiid%%:*}"
|
|
+ [ -d /sys/class/fc_host/host${_hostno} ] || return 1
|
|
+ _port_type=$(cat /sys/class/fc_host/host${_hostno}/port_type)
|
|
+ case "$_port_type" in
|
|
+ NPIV*)
|
|
+ _is_npiv=1
|
|
+ ;;
|
|
+ esac
|
|
_ccw=$(cat ${_sdev}/hba_id)
|
|
- echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
|
|
+ if [ "$_is_npiv" ] && [ "$_allow_lun_scan" = "Y" ] ; then
|
|
+ echo "rd.zfcp=${_ccw}"
|
|
+ else
|
|
+ _lun=$(cat ${_sdev}/fcp_lun)
|
|
+ _wwpn=$(cat ${_sdev}/wwpn)
|
|
+ echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
|
|
+ fi
|
|
return 0
|
|
}
|
|
[[ $hostonly ]] || [[ $mount_needs ]] && {
|
|
Index: dracut-044/modules.d/95zfcp_rules/parse-zfcp.sh
|
|
===================================================================
|
|
--- dracut-044.orig/modules.d/95zfcp_rules/parse-zfcp.sh 2016-04-12 15:48:42.072804543 +0200
|
|
+++ dracut-044/modules.d/95zfcp_rules/parse-zfcp.sh 2016-04-12 15:48:46.869076048 +0200
|
|
@@ -31,6 +31,7 @@ ACTION=="add", SUBSYSTEM=="drivers", KER
|
|
ACTION=="add", ENV{COLLECT_$ccw}=="0", ATTR{[ccw/$ccw]online}="1"
|
|
EOF
|
|
fi
|
|
+ [ -z "$wwpn" -o -z "$lun" ] && return
|
|
m=$(sed -n "/.*${wwpn}.*${lun}.*/p" $_rule)
|
|
if [ -z "$m" ] ; then
|
|
cat >> $_rule <<EOF
|