| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
|
|
|
|
| |
dcantrell's recent change to the shutdown mechanism exposed a situation when
shutdown is correctly handled but the init's exit handler still gets called and
dumps its callstack, that's not desirable because (in case of an exception in
python code for example) part of the useful information on the screen is
scrolled out of view.
|
|
|
|
|
| |
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 adds "tail -f /tmp/storage.log" to .bash_history in the install
environment.
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
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.
|
| |
|
|
|
|
|
| |
If we've got an mpath device in FilterWindow, it should be added to the
selection, not the constituent devices for each path.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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()
|
|
|
|
|
| |
Since we're using the multipath tools, we don't need to group by serial.
Also don't use the name generator.
|
|
|
|
|
| |
This adds an exception to use when multipath (and related utilities)
fail.
|
|
|
|
|
| |
Call log_method_call() in MultipathDevice.addParent() and
Device.setupParents()
|
|
|
|
|
|
|
| |
A proper syslog daemon allows for remote logging that includes installed
system's syslog.
Removes the init.c code that simulated syslog activity until now.
|
| |
|
|
|
|
|
|
| |
libarchive lacks proper documentation of its memory management, but
it seems that it takes care of freeing the memory itself. So remove the
bogus free from our code.
|
|
|
|
|
|
|
|
| |
g_slist_alloc is only used to create a new entry in the list and it is not
needed to initialize the list (it actually inserted an empty item at the
beginning of the list).
Also use strdup to store a copy of the device name (+ cleanup code)
|
|
|
|
|
|
|
|
|
|
| |
It's possible for the user to have a huge number of disks, which could result in
this dialog popping up a huge number of times. Therefore, it'd be a good idea
to allow the user to apply their same choice to all following times when the
dialog would pop up.
Note that it would be nicer to add some sort of checkbox to MessageWindow to
make this more clear, but that is not exactly trivial to do.
|
|
|
|
|
|
|
|
| |
Do not install a handler for SIGINT on s390 since you can't really press
Ctrl+Alt+Del there. Only handle SIGUSR1 and SIGUSR2 as handled in
linuxrc.s390 (which comes from loader which comes from iutil.py).
Always make sure we unmount filesystems and kill off processes, then
reboot if that's requested or exit and display the halt message.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In loader, the manual TCP/IP configuration loop prompts the user then
validates the input. Each time a particular piece of input validates,
the counter is incremented. If the counter does not equal the right now
at the end of the loop, we tell the user to re-enter the information
correctly. But the second time around, if any input was valid the first
time, it will be counted again, throwing off the count we check at the
end of the loop.
This patch just resets the IPv4 and IPv6 counters if we detected invalid
input.
|
| |
|
| |
|
|
|
|
|
|
| |
setStage2LocFromCmdline() doesn't need to do so much allocation just to
use strtok(), which should be cleansed with fire anyway. Get rid of
both.
|
| |
|
|
|
|
|
|
|
|
| |
The hardcoded setting of LD_LIBRARY_PATH was not taking into
consideration if there are lib or lib64 directories,
and was also overwriting everything loader put there before.
Changed to just prepend "/mnt/sysimage" to the directories
we already have in the path.
|
|
|
|
|
|
| |
devicetree.teardownAll() often causes storage errors which all get
ignored, but we've been enumerating them individually. use their
superclass instead.
|
|
|
|
|
| |
stage2param is set in parseCmdLineFlags, but it's not actually used for
anything. Take it out.
|
|
|
|
|
| |
StorageDevice and all its heirs have device.model so it can be
subclassed; use it.
|
|
|
|
| |
This puts /sbin/multipath and related utilities in install.img.
|
|
|
|
|
|
| |
Load all scsi_dh_* modules. These know how to bind to scsi targets, and
which devices to bind to, so this will really only effect people with those
targets.
|
|
|
|
|
|
| |
We used to be always showing page 0, but it's possible there are no basic
devices in the system. The result is you staring at a blank page. Instead,
we should show whichever page has something on it to see.
|