| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Since BIOS RAID sets (containers in mdraid terminology) never change
there is no need to stop them and later restart them. Not stopping
(and thus also not starting) them also works around bug 523334, which
is the cause of bug 532971.
|
|
|
|
|
| |
This allows us to disregard certain requests when there's not enough
space in the VG for the request to make any sense.
|
| |
|
|
|
|
| |
This prevents LVs from being named things like "lv__home".
|
| |
|
|
|
|
|
| |
stdout echo is on by default, add a parameter that lets us turn that off
if we want to.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following install test case has been failing:
https://fedoraproject.org/wiki/QA:Testcase_Anaconda_autopart_%28shrink%29_install
The problem was with the minSize property in Ext2FS. We use resize2fs
to get the minSize for ext2/3/4 filesystems, which is good because
resize2fs accounts for additional things an extX volume may need. The
problem is the value it reports is in blocks. We have to convert those
blocks to bytes, then to megabytes, then round up to account for any
fractional megabytes. Use dumpe2fs to get the block size and use
resize2fs as we have been, but modify the calculation of size.
Also the _setTargetSize() method in FS needed a change. minSize can be
less than or equal to newsize, not just less than.
|
|
|
|
|
| |
If the user selects Exit Installer, log a message indicating as much and
then exit.
|
|
|
|
|
|
|
|
|
| |
If performing a kickstart install on s390, dasdfmt is only run if:
a) There is a UI available to prompt the user.
b) 'zerombr' is specified in the kickstart file.
The zerombr command will also skip the UI if there is one. The UI
prompt is a fallback.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the device tree is built in the storage code, run through the
DASD devices on the system and format any with a status of
'unformatted'. We have to run dasdfmt on these devices before we can
partition them.
Under RHEL-5, this process was serial and the user had to click Yes for
each unformatted DASD found, which could take a really long time if
you had thousands of DASDs.
The idea now is that if the DASD is seen by anaconda, we want to use it
for installation. The stage 1 device initialization routines as well as
the CMS conf file provided at boot time allow the user to restrict the
range of devices we see during installation. If any of the devices we
see are unformatted, run dasdfmt before building the devicetree.
This process is implemented in a DASD class that works similar to the
iscsi and zfcp classes. That is, devices may need to be started or
brought in to a working state before the anaconda storage code can use
them.
|
|
|
|
|
|
|
| |
As discussed on IRC this changes the platform.diskType property
into a platform.diskLabelType method that takes a disk/device type argument
and uses this argument to check for dasd disks and in that cases returns
dasd as diskLabelType.
|
|
|
|
|
| |
Rename platform.diskType to platform.diskLabelType, as diskType is confusing
(we usally use it to refer to is the disk dasd, iscsi, zfcp, etc.).
|
|
|
|
|
|
|
|
|
|
|
| |
Syntax error with kwargs in DASDDevice. Use kwargs.pop() in both
DASDDevice and ZFCPDiskDevice so DASD or zFCP specific kwargs are not
passed to DiskDevice.__init__().
Remove the incorrect name variable setting in ZFCPDiskDevice.
Change 'devices' to 'device' in udev_device_get_zfcp_attribute() so that
zFCP attributes can be read.
|
| |
|
|
|
|
|
| |
As of now, a udev "add" event on an existing dm device causes the
device node to be removed from the /dev directory, which is bad.
|
|
|
|
|
|
| |
This fixes an inconsistency where /boot could be on various filesystems
during interactive installs, but not during kickstart. What filesystems
are valid is controlled by the Platform module.
|
| |
|
|
|
|
|
| |
Also rewrite getNextPartitionType for clarity so that bugs like this
will be easier to identify and fix in the future.
|
|
|
|
|
|
|
|
| |
If fsck fails with a return code indicating errors we can't
automatically fix, give the user a more descriptive error dialog before
exiting. There's not much we can do if the filesystem is beyond
automatic repair, so tell the user to repair the filesystem under rescue
mode or something similar.
|
|
|
|
|
|
|
| |
Return kernel parameter information for the DASD. NOTE: This is using
the current rd_DASD parameter in dracut, which is just a copy of the
dasd= kernel parameter. Will change this once dracut gets a better
rd_DASD parameter.
|
|
|
|
|
|
|
| |
Expand the DASDDevice class to hold the device bus ID and flags that are
passed at boot time. Add udev functions to return the bus ID and flag
values for DASD devices. When building the device tree, read the DASD
information and pass that to the DASDDevice object.
|
|
|
|
|
|
|
|
|
| |
Collect CCW bus ID, WWPN, and FCP LUN values for zFCP devices when
building the device tree. Store these in the ZFCPDiskDevice object and
use them to generate the rd_ZFCP= string for dracut.
Expand storage/udev.py with functions to determine if a device is zFCP
and to get arbitrary attribute values.
|
|
|
|
|
|
| |
Use "device" entries in the config file rather than specifying
configuration parameters in the "multipath" section of the config file.
This gets us more reasonable configuration.
|
|
|
|
|
|
|
|
|
|
| |
Our patch for adding support for the swap flag to parted msdos label handling
has been rejected upstream, upstream says we should use
ped_partition_set_system() instead. So do that, as I would like to drop this
patch from our parted package eventually.
This will also cause us to assign the right type to swap partitions in
GPT tables, so this patch should go to F-12 too.
|
|
|
|
|
| |
multipath and multipathd expect the leading "3" in wwids, but that's bad
in the user interface. So use one for one and the other for the other.
|
|
|
|
|
|
| |
Live images don't contain volume_key, which makes sense since key
escrow is kickstart-only functionality. At any rate, failure to
import volume_key should only break key escrow.
|
|
|
|
|
|
| |
This writes a multipathd.conf that whitelists the devices we're using in
our multipath devices. It's a fairly basic configuration, and it doesn't
handle ALUA yet.
|
|
|
|
| |
This should have been part of the previous commit but wasn't.
|
|
|
|
|
| |
MultipathDevice needs its own .updateSysfsPath(), because self.name is
"mpath0" but the sysfs directory is /sys/class/block/dm-0 .
|
|
|
|
|
|
|
|
|
|
| |
With a kickstart install, with "clearpart --label", we will end up
scanning pre-existing partitions after clearing the label. This leads
to the backtrace as seen in #527785 and #526517.
addUdevPartitionDevice() has special handling for this case, instead of
copy and pasting this, this patch modifies addUdevPartitionDevice() so
that it can be used for dmraid and multipath partitions too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The playing around with partedPartition flags only allows us to determine
the partition table entry for certain usuages which are deemed special
by parted. For normal FS usuage, parted will default to the type for the FS
it has detected (for pre-existing partitions) or to Linux (83) for new
partitions.
This means that for example reformatting a vfat partition as ext3, or a new
partition as vfat will lead to incorrect partition type entries in the
partition table. This patch fixes this.
This patch is intended for both master and F-12.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were resetting the parted flags for re-use of existing partitions in
destroyFormat, but this assumes that the existing partition actually has
a type in the partition table matching its current formatting, this has 2
problems:
1: If the partition has a type which needs to have flags reset to become
the correct type for the new format (for example swap -> ext2), but it
is not formatted, the flags wont get reset
2: If the partition has a type which does not match the formatting (for
example type linux raid, formatting ext2), the flags won't get reset
This patch moves the resetting of the flags to the creation of the new
format, and resets all flags except for the one for the to be created
format (and boot and lba which are special).
|
|
|
|
|
| |
If the partition is on a DASD disk, write out the /dev/disk/by-path/...
value to the /etc/fstab file rather than a UUID= line.
|
|
|
|
|
| |
When building the device tree, if the block device is a DASD, create a
DASDDevice object rather than a DiskDevice object.
|
|
|
|
|
|
| |
The only thing I can tell is available for us from the udev db is to see
if the DEVNAME starts with 'dasd'. We'll need this for the dracut
changes for DASD later.
|
|
|
|
|
|
| |
The only existing use of deviceNameToDiskByPath() expected the basename
returned. Since the function returns the full /dev/disk/by-path/...
path, take the basename of the returned value.
|
|
|
|
|
|
|
|
|
| |
Have deviceNameToDiskByPath() return the full device path rather than
just the basename path. Have it check to see if the entry in
/dev/disk/by-path is actually a symlink, then readlink that. Otherwise
just take the basename of the entry. Also fix a problem where passing
it a full device path would not match (e.g., '/dev/dasdb1'). Take the
basename of deviceName and match that against the readlink() value.
|
|
|
|
|
|
|
|
| |
block.dmraid.RaidSet keeps track of the state of the devicemaps and will
try to add / remove maps when activating / deactivating the set depending
on its internal state, shallow copying it copies this state, creating
2 copies of it, which can result in trying to bring the set up or down
twice, which causes a backtrace.
|
| |
|
|
|
|
|
| |
map() gives us a list of bool objects, filter() gives us the actual
device objects we are expecting.
|
| |
|
|
|
|
|
|
|
|
| |
The machine in #527699 has one seriously broken disk, this causes
(py)parted to throw a different exception type when looking up the device
this patch catches this exception too, which will result in the disk
being handled as a removeable disk (ie cardreader) with no media present,
causing us to ignore it.
|
|
|
|
|
|
| |
Don't traceback in formatByDefault() when a device with a mountable
format has a mountpoint of None. Instead simply assume that if we don't
mount it anywhere it does not need to be formatted.
|
|
|
|
|
| |
Note this patch deliberately does not use NetworkManager, all we need for FCoE
is for the OSI layers 1 (PHY) and 2 (MAC) to be brought up.
|
|
|
|
| |
This patch is intended for both F-12 and the devel branch.
|
|
|
|
|
|
|
| |
I hit the race fixed by this during some local dmraid install testing
while investigating bug 527035.
This patch is intended for both F-12 and the devel branch.
|
| |
|
|
|
|
| |
Rounding errors when computing the existing size of NTFS volumes.
|
|
|
|
|
|
| |
If a label is set on a filesystem (e.g., the --label switch on a part
command in a kickstart file), make sure it is set during the filesystem
creation.
|