On Mon, 2009-04-06 at 17:42 +0200, Hans de Goede wrote: > This hopefully fixes cciss (will test once an anaconda with this in > has hit rawhide, so I can use rhts to test). This is the second version of > this patch, this time it also does the / -> ! translation for sysfs names. Looks good. > --- > bootloader.py | 3 ++- > iw/partition_gui.py | 3 --- > iw/upgrade_bootloader_gui.py | 3 ++- > storage/__init__.py | 13 +++---------- > storage/devices.py | 17 +++++++++++++++-- > textw/upgrade_bootloader_text.py | 3 ++- > 6 files changed, 24 insertions(+), 18 deletions(-) > > diff --git a/bootloader.py b/bootloader.py > index b9d995e..53dba2b 100644 > --- a/bootloader.py > +++ b/bootloader.py > @@ -28,6 +28,7 @@ import iutil > import string > from flags import flags > from constants import * > +from storage.devices import devicePathToName > > import gettext > _ = lambda x: gettext.ldgettext("anaconda", x) > @@ -125,7 +126,7 @@ def writeBootloader(anaconda): > anaconda.id.bootloader.doUpgradeonly = 1 > if bootType == "GRUB": > anaconda.id.bootloader.useGrubVal = 1 > - anaconda.id.bootloader.setDevice(theDev.split("/")[-1]) > + anaconda.id.bootloader.setDevice(devicePathToName(theDev)) > else: > anaconda.id.bootloader.doUpgradeOnly = 0 > > diff --git a/iw/partition_gui.py b/iw/partition_gui.py > index 24559ee..0105ef5 100644 > --- a/iw/partition_gui.py > +++ b/iw/partition_gui.py > @@ -139,9 +139,6 @@ class DiskStripeSlice: > rc = rc + "%Ld MB" % (self.partition.getSize(unit="MB"),) > return rc > > - def getDeviceName(self): > - return self.partition.getDeviceNodeName().split("/")[-1] > - > def update(self): > disk = self.parent.getDisk() > (cylinders, heads, sectors) = disk.device.biosGeometry > diff --git a/iw/upgrade_bootloader_gui.py b/iw/upgrade_bootloader_gui.py > index 08f2403..f35ce0a 100644 > --- a/iw/upgrade_bootloader_gui.py > +++ b/iw/upgrade_bootloader_gui.py > @@ -24,6 +24,7 @@ from iw_gui import * > > import gtk > from booty import checkbootloader > +from storage.devices import devicePathToName > > from constants import * > import gettext > @@ -61,7 +62,7 @@ class UpgradeBootloaderWindow (InstallWindow): > self.bl.useGrubVal = 1 > else: > self.bl.useGrubVal = 0 > - self.bl.setDevice(self.bootDev.split("/")[-1]) > + self.bl.setDevice(devicePathToName(self.bootDev)) > > def _newToLibata(self, rootPath): > # NOTE: any changes here need to be done in upgrade_bootloader_text too > diff --git a/storage/__init__.py b/storage/__init__.py > index 3d3ba15..7a9f93b 100644 > --- a/storage/__init__.py > +++ b/storage/__init__.py > @@ -81,16 +81,9 @@ def storageInitialize(anaconda): > elif devspec.startswith("UUID=") and udev_device_get_uuid(entry) == devspec[5:]: > storage.protectedPartitions = [udev_device_get_name(entry)] > break > - else: > - if devspec.startswith("/dev/"): > - dev = devspec[5:] > - else: > - dev = devspec > - > - name = udev_device_get_name(entry) > - if name == dev: > - storage.protectedPartitions = [name] > - break > + elif udev_device_get_name(entry) == devicePathToName(devspec): > + storage.protectedPartitions = [udev_device_get_name(entry)] > + break > > storage.reset() > > diff --git a/storage/devices.py b/storage/devices.py > index f75463f..209ea4f 100644 > --- a/storage/devices.py > +++ b/storage/devices.py > @@ -131,6 +131,18 @@ def get_device_majors(): > device_majors = get_device_majors() > > > +def devicePathToName(devicePath): > + if devicePath.startswith("/dev/"): > + name = devicePath[5:] > + else: > + name = devicePath > + > + if name.startswith("mapper/"): > + name = name[7:] > + > + return name > + > + > class Device(object): > """ A generic device. > > @@ -447,7 +459,8 @@ class StorageDevice(Device): > def updateSysfsPath(self): > """ Update this device's sysfs path. """ > log_method_call(self, self.name, status=self.status) > - path = os.path.join("/sys", self.sysfsBlockDir, self.name) > + sysfsName = self.name.replace("/", "!") > + path = os.path.join("/sys", self.sysfsBlockDir, sysfsName) > self.sysfsPath = os.path.realpath(path)[4:] > log.debug("%s sysfsPath set to %s" % (self.name, self.sysfsPath)) > > @@ -1023,7 +1036,7 @@ class PartitionDevice(StorageDevice): > # no need to clobber our name > else: > self._partedPartition = partition > - self._name = partition.getDeviceNodeName().split("/")[-1] > + self._name = devicePathToName(partition.getDeviceNodeName()) > > partedPartition = property(lambda d: d._getPartedPartition(), > lambda d,p: d._setPartedPartition(p)) > diff --git a/textw/upgrade_bootloader_text.py b/textw/upgrade_bootloader_text.py > index ab45075..20afec6 100644 > --- a/textw/upgrade_bootloader_text.py > +++ b/textw/upgrade_bootloader_text.py > @@ -24,6 +24,7 @@ from constants_text import * > from flags import flags > import string > from booty import checkbootloader > +from storage.devices import devicePathToName > > from constants import * > import gettext > @@ -173,7 +174,7 @@ class UpgradeBootloaderWindow: > self.bl.useGrubVal = 1 > else: > self.bl.useGrubVal = 0 > - self.bl.setDevice(self.bootDev.split("/")[-1]) > + self.bl.setDevice(devicePathToName(self.bootDev)) > > > _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list