From 0be3d022964d54e8ab769ebed4006ba8b8d65078 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Thu, 10 Jul 2014 14:56:54 +0200 Subject: 95zfcp_rules: Store all devices in commandline 'for_each_host_dev_and_slaves' would stop at the first found device, so the cmdline() call would never list all required devices. Use 'for_each_host_dev_and_slaves_all' instead and filter out duplicates. Signed-off-by: Hannes Reinecke --- modules.d/95zfcp_rules/module-setup.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules.d/95zfcp_rules/module-setup.sh b/modules.d/95zfcp_rules/module-setup.sh index 3f80754..df13fa1 100755 --- a/modules.d/95zfcp_rules/module-setup.sh +++ b/modules.d/95zfcp_rules/module-setup.sh @@ -16,11 +16,11 @@ cmdline() { _wwpn=$(cat ${_sdev}/wwpn) _ccw=$(cat ${_sdev}/hba_id) echo "rd.zfcp=${_ccw},${_wwpn},${_lun}" - return 1 + return 0 } [[ $hostonly ]] || [[ $mount_needs ]] && { - for_each_host_dev_and_slaves is_zfcp - } + for_each_host_dev_and_slaves_all is_zfcp + } | sort | uniq } # called by dracut @@ -31,6 +31,7 @@ check() { require_binaries /usr/lib/udev/collect || return 1 [[ $hostonly ]] || [[ $mount_needs ]] && { + found=0 for _ccw in /sys/bus/ccw/devices/*/host* ; do [ -d "$_ccw" ] || continue found=$(($found+1)); -- 1.8.4.5