summaryrefslogtreecommitdiffstats
path: root/iw
diff options
context:
space:
mode:
authorDavid Cantrell <dcantrell@redhat.com>2010-04-28 12:29:39 -1000
committerDavid Cantrell <dcantrell@redhat.com>2010-04-28 12:29:39 -1000
commit7d77daf5542ee07a6887756214c832cd31077963 (patch)
treee2a99617b84647f1964fc00f7e31f6af8db26908 /iw
parentb0771f5d49a22ea8c154421c73d5f7cf21a0bf26 (diff)
downloadanaconda-7d77daf5542ee07a6887756214c832cd31077963.tar.gz
anaconda-7d77daf5542ee07a6887756214c832cd31077963.tar.xz
anaconda-7d77daf5542ee07a6887756214c832cd31077963.zip
Offer to format unformatted DASD devices (#560702)
On s390, if you had a single DASD that needed dasdfmt run, you would get a ZeroDivisionError traceback because the self._totalCylinders value was zero. The problem was caused by the DASD.totalCylinders property and how it initialized. It would initialize itself on the first call, but since we'd already fired off a dasdfmt process for the device, the one running to capture the cylinder count couldn't get access to the device. Users with more than one DASD needing a dasdfmt would not see the traceback, but would have an incorrect total cylinder count, so 100% would be reached when n-1 devices had been formatted. Honor the exclusiveDisks list in the storage object and log the /dev/disk/by-path alias for the device when logging the info message about what device was found that was unformatted. [Originally worked up in November 2009, I've updated the patch a bit to work with our current code. Tested in text mode and gui mode. If you have any unformatted DASD devices, anaconda prompts you and asks if you want to format them.]
Diffstat (limited to 'iw')
-rw-r--r--iw/filter_gui.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/iw/filter_gui.py b/iw/filter_gui.py
index 765afbb64..a267ce220 100644
--- a/iw/filter_gui.py
+++ b/iw/filter_gui.py
@@ -548,7 +548,9 @@ class FilterWindow(InstallWindow):
storage.iscsi.iscsi().startup(anaconda.intf)
storage.fcoe.fcoe().startup(anaconda.intf)
storage.zfcp.ZFCP().startup()
- storage.dasd.DASD().startup(anaconda.intf)
+ storage.dasd.DASD().startup(anaconda.intf,
+ anaconda.storage.exclusiveDisks,
+ anaconda.storage.zeroMbr)
disks = filter(udev_device_is_disk, udev_get_block_devices())
(singlepaths, mpaths, partitions) = identifyMultipaths(disks)