[PATCH 3/5] ofpath: Add support for fibre channel devices
Brian King
brking at linux.vnet.ibm.com
Tue Jul 12 00:02:30 EST 2011
Adds support for fibre channel devices to ofpath for IBM Power Systems.
Signed-off-by: Brian King <brking at linux.vnet.ibm.com>
---
ybin/ofpath | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff -puN ybin/ofpath~ofpath_fc ybin/ofpath
--- yaboot/ybin/ofpath~ofpath_fc 2011-06-24 13:54:57.000000000 -0500
+++ yaboot-bjking1/ybin/ofpath 2011-06-24 13:55:36.000000000 -0500
@@ -464,6 +464,40 @@ scsi_ofpath2()
return 0
fi
+ local fc=${DEVSPEC%@*}
+ fc=${fc##/*/}
+
+ if [[ -e /proc/device-tree$DEVSPEC/device_type ]]; then
+ local devtype=$(cat /proc/device-tree$DEVSPEC/device_type);
+ if [[ $devtype = "fcp" || $devtype = "scsi-fcp" ]]; then
+ fc="fibre-channel";
+ fi
+ fi
+
+ if [[ $fc = "fibre-channel" ]]; then
+ local wwpn=$(get_fc_wwpn "$DEVICE_PATH/../../fc_remote_ports*")
+ local ofpath=$DEVSPEC
+
+ if [[ ! -e /proc/device-tree$DEVSPEC/disk ]]; then
+ for dir in `find /proc/device-tree$DEVSPEC -type d`; do
+ if [[ -e $dir/disk ]]; then
+ ofpath=${dir##/proc/device-tree}
+ break;
+ fi
+ done
+ fi
+
+ ofpath=$(printf "%s/disk@%s" $ofpath $wwpn)
+
+ if [[ $DEVICE_LUN != "0" ]]; then
+ local fc_lun=$(get_fc_scsilun $DEVICE_LUN)
+ ofpath=$(printf "%s,%s" $ofpath $fc_lun)
+ fi
+
+ echo "$ofpath"
+ return 0
+ fi
+
echo 1>&2 "$PRG: Driver: $SCSI_DRIVER is not supported"
return 1
}
_
More information about the Yaboot-devel
mailing list