summaryrefslogtreecommitdiffstats
path: root/perl-install/fsedit.pm
diff options
context:
space:
mode:
authorPascal Terjan <pterjan@mandriva.org>2010-05-24 14:13:57 +0000
committerPascal Terjan <pterjan@mandriva.org>2010-05-24 14:13:57 +0000
commiteae662565f84338e8e2823200c61d45a68ece758 (patch)
tree4523eb210b9b95b5078a954cc8d39e1c4712c919 /perl-install/fsedit.pm
parent5aeee52087bef62b1257c82a72ef0c930899a2fb (diff)
downloaddrakx-eae662565f84338e8e2823200c61d45a68ece758.tar
drakx-eae662565f84338e8e2823200c61d45a68ece758.tar.gz
drakx-eae662565f84338e8e2823200c61d45a68ece758.tar.bz2
drakx-eae662565f84338e8e2823200c61d45a68ece758.tar.xz
drakx-eae662565f84338e8e2823200c61d45a68ece758.zip
force raid metadata to be 0.90 if /boot is on raid 1
Diffstat (limited to 'perl-install/fsedit.pm')
-rw-r--r--perl-install/fsedit.pm20
1 files changed, 18 insertions, 2 deletions
diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm
index 6b71d372d..787d105b8 100644
--- a/perl-install/fsedit.pm
+++ b/perl-install/fsedit.pm
@@ -427,10 +427,26 @@ sub check_mntpoint {
fs::get::mntpoint2part($mntpoint, [ grep { $_ ne $part } fs::get::really_all_fstab($all_hds) ]) and die N("There is already a partition with mount point %s\n", $mntpoint);
if ($mntpoint eq "/" && isRAID($part) && !fs::get::has_mntpoint("/boot", $all_hds)) {
- my $md_part = fs::get::device2part($part->{raid}, $all_hds->{raids});
cdie N("You've selected a software RAID partition as root (/).
No bootloader is able to handle this without a /boot partition.
-Please be sure to add a /boot partition") if $md_part->{level} ne '1'; # lilo handles / on RAID1
+Please be sure to add a /boot partition") if $part->{level} ne '1'; # lilo handles / on RAID1
+ # LILO only handles 0.90 metadata
+ if ($part->{isFormatted} && $part->{metadata} && $part->{metadata} ne '0.90') {
+ cdie N("Metadata version unsupported for a boot partition. Please be sure to add a /boot partition.");
+ } else {
+ $part->{metadata} = '0.90';
+ }
+ }
+
+ if ($mntpoint eq "/boot" && isRAID($part)) {
+ die N("You've selected a software RAID partition as /boot.
+No bootloader is able to handle this.") if $part->{level} ne '1'; # lilo handles /boot on RAID1
+ # LILO only handles 0.90 metadata
+ if ($part->{isFormatted} && $part->{metadata} && $part->{metadata} ne '0.90') {
+ die N("Metadata version unsupported for a boot partition.");
+ } else {
+ $part->{metadata} = '0.90';
+ }
}
if ($mntpoint eq "/" && (isLUKS($part) || isRawLUKS($part)) && !fs::get::has_mntpoint("/boot", $all_hds)) {