summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2008-04-24 12:55:14 +0000
committerPascal Rigaux <pixel@mandriva.com>2008-04-24 12:55:14 +0000
commit3d3bbf75585748b813aa3659d428b62a320ffff7 (patch)
tree9117906b9e6ff482bb4ba79e0efd9930f29a3add
parent17131aea3dcde8452d3f37e7ec2128fbce7c0cf0 (diff)
downloaddrakx-3d3bbf75585748b813aa3659d428b62a320ffff7.tar
drakx-3d3bbf75585748b813aa3659d428b62a320ffff7.tar.gz
drakx-3d3bbf75585748b813aa3659d428b62a320ffff7.tar.bz2
drakx-3d3bbf75585748b813aa3659d428b62a320ffff7.tar.xz
drakx-3d3bbf75585748b813aa3659d428b62a320ffff7.zip
- bootloader-config:
o do not detect device.map inconsistency when "/boot" (or "/") is on Linux software raid (/dev/mdX), cf #28309 and #35714
-rw-r--r--perl-install/NEWS2
-rw-r--r--perl-install/bootloader.pm4
2 files changed, 4 insertions, 2 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index dd942527c..a7a4819cf 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -3,6 +3,8 @@ Version 10.30 - 23 April 2008
- bootloader-config:
o fix detecting device.map inconsistency when "/boot" and "/" are not on
same "drive" (esp. when "/" is LVM and "/boot" is not, #39229)
+ o do not detect device.map inconsistency when "/boot" (or "/") is on Linux
+ software raid (/dev/mdX), cf #28309 and #35714
- diskdrake:
o ensure no "division by zero" runtime error (#34931)
- drakupdate_fstab:
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
index bfe2379d5..c85a9271b 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -225,14 +225,14 @@ sub _may_fix_grub2dev {
my ($fstab, $grub2dev, $boot_part) = @_;
my $real_boot_part = fs::get::root_($fstab, 'boot') or
log::l("argh... the fstab given is useless, it doesn't contain '/'"), return;
+
+ my $real_boot_dev = $real_boot_part->{rootDevice} or return; # if /boot is on Linux RAID 1, hope things are all right...
if (my $prev_boot_part = fs::get::device2part(grub2dev($boot_part, $grub2dev), $fstab)) { # the boot_device as far as grub config files say
$real_boot_part == $prev_boot_part and return;
}
log::l("WARNING: we have detected that device.map is inconsistent with the system");
-
- my $real_boot_dev = $real_boot_part->{rootDevice};
my ($hd_grub, undef, undef) = parse_grub_file($boot_part);
if (my $prev_hd_grub = find { $grub2dev->{$_} eq $real_boot_dev } keys %$grub2dev) {