In the partition editor UI, we get device names for DASD as "dasda", "dasdb", and so on. For zFCP, we get "sda", "sdb", and so on. The ccw identifiers are more useful to s390 users, so display those on this screen if we have them, otherwise fall back on the current name. For mpath devices, try to display the WWID if we have it, otherwise show the current name. --- iw/partition_gui.py | 17 +++++++++++++++++ storage/devices.py | 16 ++++++++++++++++ 2 files changed, 33 insertions(+), 0 deletions(-) diff --git a/iw/partition_gui.py b/iw/partition_gui.py index 7420df6..7408126 100644 --- a/iw/partition_gui.py +++ b/iw/partition_gui.py @@ -20,6 +20,7 @@ # Michael Fulbright <msf@xxxxxxxxxx> # +import os import gobject import gtk import gtk.glade @@ -34,6 +35,7 @@ import string import types import copy +import iutil import storage from iw_gui import * from flags import flags @@ -50,6 +52,8 @@ from storage.partitioning import doPartitioning from storage.partitioning import hasFreeDiskSpace from storage.devicelibs import lvm from storage.devices import devicePathToName, PartitionDevice +from storage.devices import deviceNameToDiskByPath, deviceNameToWWID +from storage.errors import DeviceNotFoundError import gettext _ = lambda x: gettext.ldgettext("anaconda", x) @@ -963,6 +967,19 @@ class PartitionWindow(InstallWindow): # device name name_str = getattr(device, "lvname", device.name) + try: + if iutil.isS390() and \ + (name_str.startswith("dasd") or \ + name_str.startswith("sd")): + name_str = os.path.basename(deviceNameToDiskByPath(name_str)) + elif name_str.startswith("mpath"): + name_str = deviceNameToWWID(name_str) + except DeviceNotFoundError: + name_str = device.name + + if name_str == "": + name_str = device.name + # label label_str = getattr(format, "label", "") if label_str is None: diff --git a/storage/devices.py b/storage/devices.py index 7e7e405..6104fd7 100644 --- a/storage/devices.py +++ b/storage/devices.py @@ -160,6 +160,22 @@ def deviceNameToDiskByPath(deviceName=None): return ret raise DeviceNotFoundError(deviceName) + +def deviceNameToWWID(deviceName=None): + if not deviceName: + return "" + + ret = None + for dev in udev_get_block_devices(): + if udev_device_get_name(dev) == deviceName: + ret = udev_device_get_wwid(dev) + break + + if ret: + return ret + raise DeviceNotFoundError(deviceName) + + class Device(object): """ A generic device. -- 1.7.0.1 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list