7 local _devpath
=$
(cd -P /sys
/dev
/block
/$_dev ; echo $PWD)
8 local _sdev _scsiid _hostno _lun _wwpn _ccw _port_type
9 local _allow_lun_scan _is_npiv
11 _allow_lun_scan
=$
(cat /sys
/module
/zfcp
/parameters
/allow_lun_scan
)
12 [ "${_devpath#*/sd}" == "$_devpath" ] && return 1
13 _sdev
="${_devpath%%/block/*}"
14 [ -e ${_sdev}/fcp_lun
] ||
return 1
15 _scsiid
="${_sdev##*/}"
16 _hostno
="${_scsiid%%:*}"
17 [ -d /sys
/class
/fc_host
/host${_hostno} ] ||
return 1
18 _port_type
=$
(cat /sys
/class
/fc_host
/host${_hostno}/port_type
)
24 _ccw
=$
(cat ${_sdev}/hba_id
)
25 if [ "$_is_npiv" ] && [ "$_allow_lun_scan" = "Y" ] ; then
26 echo "rd.zfcp=${_ccw}"
28 _lun
=$
(cat ${_sdev}/fcp_lun
)
29 _wwpn
=$
(cat ${_sdev}/wwpn
)
30 echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
34 [[ $hostonly ]] ||
[[ $mount_needs ]] && {
35 for_each_host_dev_and_slaves_all is_zfcp
41 local _arch
=$
(uname
-m)
43 [ "$_arch" = "s390" -o "$_arch" = "s390x" ] ||
return 1
44 require_binaries
/usr
/lib
/udev
/collect ||
return 1
46 [[ $hostonly ]] ||
[[ $mount_needs ]] && {
48 for _ccw
in /sys
/bus
/ccw
/devices
/*/host* ; do
49 [ -d "$_ccw" ] ||
continue
52 [ $found -eq 0 ] && return 255
64 inst_multiple
/usr
/lib
/udev
/collect
65 inst_hook cmdline
30 "$moddir/parse-zfcp.sh"
66 if [[ $hostonly_cmdline == "yes" ]] ; then
69 for _zfcp
in $
(cmdline
) ; do
70 printf "%s\n" "$_zfcp" >> "${initdir}/etc/cmdline.d/94zfcp.conf"
73 if [[ $hostonly ]] ; then
74 inst_rules_wildcard
51-zfcp-*.rules
75 inst_rules_wildcard
41-s390x-zfcp-*.rules