diff options
author | Thierry Vignaud <tv@mageia.org> | 2012-04-19 18:31:48 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2012-04-19 18:31:48 +0000 |
commit | ca5c66da34ab81f01d93fa91db1431da71a34991 (patch) | |
tree | c21ef5d42040988797696151b344827bda13013f | |
parent | 853ec3243a697032ef5fa22613897b68877c2973 (diff) | |
download | drakx-ca5c66da34ab81f01d93fa91db1431da71a34991.tar drakx-ca5c66da34ab81f01d93fa91db1431da71a34991.tar.gz drakx-ca5c66da34ab81f01d93fa91db1431da71a34991.tar.bz2 drakx-ca5c66da34ab81f01d93fa91db1431da71a34991.tar.xz drakx-ca5c66da34ab81f01d93fa91db1431da71a34991.zip |
(detect_during_install) stop all inactive raids before initializing RAIDs
(thus fixing installer not offering to upgrade RAID installs)
rationale: udev starts raids early but fails because modules (especially
personality ones) are not yet loaded; thus raids remains inactive
("md: personality for level 1 is not loaded!")
regression introduced when swtiching to udev and including its rules
since it works smoothly with rescue, I suspect the cause is
in 60-persistent-storage.rules which is included in installer
but not in rescue
-rw-r--r-- | perl-install/install/NEWS | 3 | ||||
-rw-r--r-- | perl-install/raid.pm | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 6f2ea446e..d88e0b542 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,4 +1,7 @@ - fix a crash when package state is empty (mga#5487) +- fix not offering to upgrade RAID installs + (udev was enabling RAIDs early but leaved them in inactive mode + due to not yet loaded personality modules) - when selecting where ro install bootloader, display mountpoint if available, and size+fs_type if we have nothing (mga#5460) diff --git a/perl-install/raid.pm b/perl-install/raid.pm index 8e551a888..cc06411e1 100644 --- a/perl-install/raid.pm +++ b/perl-install/raid.pm @@ -189,6 +189,11 @@ sub detect_during_install { foreach (@{allmodules()}) { eval { modules::load($_) }; } + + # udev may have started raids but failed due to not yet loaded modules and + # they remains inactive ("md: personality for level 1 is not loaded!") + stop_inactive_mds(); + detect_during_install_once(@parts); detect_during_install_once(@parts) if active_mds(); #- try again to detect RAID 10 stop_inactive_mds(); |