| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Replace all usage of the isys C EDD code with the new storage
python EDD code. Note that this moves the sorting of partition.req_disks
from devices.py to paritioning.py, because sorting now needs access
to the storage object, this also has the added advantange that now we
always allocatePartitions in sorted drive order, even in interactive mode.
|
|
|
|
|
|
|
|
|
|
| |
There are various issues with the EDD C-code, mostly that it is way
too complicated for what it does. This patch re-implements it in
python, and adds a compareDrives substitute to the storage class.
Note that the compareDrives substitute is a copy and paste job of the
isys code (using the new storage edd_dict). The isys code will be removed
in a separate patch.
|
| |
|
|
|
|
|
|
|
|
| |
The changes for the filtering UI and the whole disk formatting seem to have
broken dmraid BIOS RAID support, the first traceback I hit while testing is
due to DMRaidArrayDevice.__init__ now calling DMDevice.__init__ (was
DiskDevice.__init__), and DMDevice.__init__ does not accept major and minor
arguments.
|
| |
|
| |
|
|
|
|
|
|
| |
DMRaidArrayDevice, used to inherit from DiskDevice, whose exists
init argument has a default of True. Now that it inherits from DMDevice
instead we must explicitly set exists to True when calling DMDevice.__init__ .
|
|
|
|
|
|
| |
The description property properly differentiaties between regular mdraid
and biosraid sets, using this for model makes for a more informational
display in cleardisks_gui.
|
|
|
|
|
|
|
|
| |
Now that we have a separate type for MD BIOS RAID arrays, there is no
need to do:
self.devices[0].type == "mdcontainer"
To check for there, replace all these with the much nicer:
self.type == "mdbiosraidarray"
|
|
|
|
| |
This becomes important when mixing regular and bios raid mdraid arrays.
|
|
|
|
|
| |
Now that MD BIOS RAID arrays have their own type, there is no longer a
need for the biosraid property.
|
|
|
|
|
|
|
|
|
|
|
| |
Before the whole disk formatting changes MD BIOS RAID arrays used to have
their own type of "partitionable mdarray". And we check for the normal
"mdarray" type in various places (mostly to do with mdraid /boot handling where
I'm seeing a traceback qtm), and when the type matches mdarray the code
assumes a regular mdarray.
So this code restores MD BIOS RAID arrays having their own type, so as to
not trigger all these checks meant for regular mdraid arrays.
|
|
|
|
|
| |
Format strings need to match the things being formatted, as Hans
correctly pointed out.
|
| |
|
|
|
|
|
|
| |
They already enherit the correct values from DiskDevice, and setting
them explictly is inconsisten with ZFCPDevice and DASDDevice which do not
do this.
|
|
|
|
| |
And make it return True for BIOS RAID sets (but not for containers).
|
|
|
|
|
| |
Some MDRaidDevices are disks (BIOS RAID) others are not, so make
it a property so that MDRaidDevice can override it.
|
|
|
|
| |
It is the same as the one we inherit from StorageDevice
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Containers don't have formats, so this checks always fails, making
mdraid BIOS RAID sets not show up in storage.partitioned.
2) MDRaidArrayDevice.biosraid is used to not show biosraid related
mdraid sets as editable raid sets in the partition UI, so we should return
true for containers too, as we don't want to show those there either
3) Containers however are not partitionable, so we cannot use the
biosraid property in the partitionable property.
|
|
|
|
|
|
| |
When checking for mdraid BIOSRAID sets in isIgnored and finding one,
update the exclusiveDisks entry, so that the correct name is present
for other usage of exclusiveDisks (such as in cleardisks_gui.py).
|
| |
|
| |
|
|
|
|
|
|
| |
When we ignore a partition because its disk cannot be found, or
des not have a disklabel format, or is not partitionable, we should
lvm to ignore the partition too.
|
|
|
|
|
|
|
| |
Since addUdevPartitionDevice now checks that the disk the partition
lives on has a disklabel format (which the member disks do not have), there
is no reason to call isIgnored again, esp as isIgnored no longer does
any partition -> disk checking.
|
|
|
|
|
| |
Remove special partition handling from isIgnored, addUdevPartitionDevice
does all the necessary checking itself now a days.
|
|
|
|
|
|
|
| |
Wether or not a RaidSet is partitioned, should not matter for its
mediaPresent handling. What sort of RaidSet it is matters. This patch
fixes us trying to do format handling on a Raid Container, which ends
badly.
|
|
|
|
|
|
|
|
|
| |
Special handling for mdraid external metadata sets (mdraid BIOSRAID):
1) The containers are intermediate devices which will never be
in exclusiveDisks
2) Sets get added to exclusive disks with their dmraid set name by
the filter ui. Note that making the ui use md names instead is not
possible as the md names are simpy md# and we cannot predict the #
|
|
|
|
|
| |
1) Make it safe to call udev_device_get_md_level on none md devices
2) Add udev_device_get_md_name() function
|
|
|
|
|
| |
This stops us from backtracing when trying to formulate the question if
we need to init the label on the array.
|
|
|
|
|
|
|
| |
BIOS RAID members, and mdraid BIOS RAID containers are normally not in
exclusiveDisks, only the sets they contain are. So do not do exclusiveDisks
checking for them, as ignoring the members will result in the sets never
being found.
|
|
|
|
|
| |
Use device-mapper-multipath's "multipath" tool to find and set up
multipath devices.
|
|
|
|
|
|
| |
This makes PartitionDevice.teardown() remove device-mapper tables when
appropriate, so devices using them don't have to clean up the partition
and all the conditional testing that comes with that.
|
|
|
|
|
|
|
|
| |
Revamp this since multipath is now writing our rules for us.
Use device.serial/device.vendor/device.model where appropriate, and
don't give the device a braindead mode. Also change /when/ we write the
files out.
|
|
|
|
|
|
| |
Make sure exists is set when creating MultipathDevice, as well as any
other ancillary data. Also revamp MultipathDevice.status since we now
can create it in realtime like everything else does.
|
| |
|
| |
|
|
|
|
|
| |
With the move to getting mpath setup from /sbin/multipath, we no longer
need to generate device names.
|
|
|
|
|
|
|
|
| |
Set self.exists in StorageDevice.__init__ before calling
Device.__init__, because some Device methods use .exists and they can be
called before StorageDevice.__init__ finishes.
This probably needs more rethinking, but it makes things better for now.
|
|\ |
|
| |
| |
| |
| |
| | |
This allows anaconda to progressively send contents of anaconda.log, storage.log
and program.log to a remote machine.
|
|/
|
|
|
|
| |
Currently we are making dracut activate the entire root containing VG,
dracut-004 now has support for activating only specified LV's, this patch
moves us over to that.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Not everything has one, but this makes them all at least show "None"
instead of having to do the hasattr dance. Also, it now normally gets
the info from udev rather than using parted's concatenated version
(which fixes some minor UI problems as well as making it available at
more places.)
Also add a correct "model" method to MultipathDevice - we want to
display the model for the underlying disk device, not "linux device
mapper device" or whatnot.
|
|
|
|
|
| |
We need to find out about multipath topology from /sbin/multipath, which
unfortunately needs some parsing - it's fairly easy, though.
|
|
|
|
|
| |
We don't want multipath members ignored (yet), because we need
addUdevDevice() to act on them.
|
|
|
|
| |
We get model info from udev, and it's useful to expose it.
|
|
|
|
|
| |
Add udev_device_get_multipath_name() to find the name of a consituent's
device, and also reorganize a little. Also use this in FilterWindow()
|