summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2009-07-02 19:55:39 +0200
committerHans de Goede <hdegoede@redhat.com>2009-07-02 22:05:40 +0200
commit62eedb84edad72cb4091e7db52dfd0be8581cc56 (patch)
tree464fee6b356449ed75b8472d16685e3300ee95cd /storage
parente979e0e1522a91652fddc14e955c84e44e6ad87b (diff)
downloadanaconda-62eedb84edad72cb4091e7db52dfd0be8581cc56.tar.gz
anaconda-62eedb84edad72cb4091e7db52dfd0be8581cc56.tar.xz
anaconda-62eedb84edad72cb4091e7db52dfd0be8581cc56.zip
Add FCoE support to storage/udev.py
Add the ability to identify if a disk is an FCoE device and to get the identifier of the disk and the name of the NIC used to connect to an FCoE disk
Diffstat (limited to 'storage')
-rw-r--r--storage/udev.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/storage/udev.py b/storage/udev.py
index af3ee122a..aa2f7d98a 100644
--- a/storage/udev.py
+++ b/storage/udev.py
@@ -386,3 +386,30 @@ def udev_device_get_iscsi_port(info):
path_components = info["ID_PATH"].split("-")
return path_components[1].split(":")[1]
+
+# fcoe disks have ID_PATH in the form of:
+# pci-eth#-fc-${id}
+# fcoe parts look like this:
+# pci-eth#-fc-${id}-part#
+def udev_device_is_fcoe(info):
+ try:
+ path_components = info["ID_PATH"].split("-")
+
+ if info["ID_BUS"] == "scsi" and len(path_components) >= 4 and \
+ path_components[0] == "pci" and path_components[2] == "fc" and \
+ path_components[1][0:3] == "eth":
+ return True
+ except LookupError:
+ pass
+
+ return False
+
+def udev_device_get_fcoe_nic(info):
+ path_components = info["ID_PATH"].split("-")
+
+ return path_components[1]
+
+def udev_device_get_fcoe_identifier(info):
+ path_components = info["ID_PATH"].split("-")
+
+ return path_components[3]