diff -Nurp drakx-installer-stage2-12.71.orig2/perl-install/diskdrake/interactive.pm drakx-installer-stage2-12.71/perl-install/diskdrake/interactive.pm --- drakx-installer-stage2-12.71.orig2/perl-install/diskdrake/interactive.pm 2009-10-24 23:46:13.878544616 +0300 +++ drakx-installer-stage2-12.71/perl-install/diskdrake/interactive.pm 2009-10-25 00:02:17.467793491 +0300 @@ -1093,7 +1093,7 @@ sub modifyRAID { $in->ask_from(N("Options"), '', [ { label => N("device"), val => \$new_device, list => [ $md_part->{device}, raid::free_mds($raids) ], sort => 0 }, -{ label => N("level"), val => \$md_part->{level}, list => [ qw(0 1 4 5 6 linear) ] }, +{ label => N("level"), val => \$md_part->{level}, list => [ qw(0 1 4 5 6 10 linear) ] }, { label => N("chunk size in KiB"), val => \$md_part->{'chunk-size'} }, ], ) or return; diff -Nurp drakx-installer-stage2-12.71.orig2/perl-install/raid.pm drakx-installer-stage2-12.71/perl-install/raid.pm --- drakx-installer-stage2-12.71.orig2/perl-install/raid.pm 2009-10-19 15:17:45.000000000 +0300 +++ drakx-installer-stage2-12.71/perl-install/raid.pm 2009-10-25 00:02:17.467793491 +0300 @@ -91,6 +91,7 @@ sub updateSize { elsif (/1/) { min @l } elsif (/4|5/) { min(@l) * (@l - 1) } elsif (/6/) { min(@l) * (@l - 2) } + elsif (/10/) { min(@l) * (@l / 2) } }; } @@ -105,6 +106,8 @@ sub module { if (member($level, 4, 5, 6)) { 'raid456'; + } elsif (member($level, 10)) { + 'raid10'; } elsif ($level =~ /^\d+$/) { "raid$level"; } else { @@ -157,7 +160,7 @@ sub format_part { sub verify { my ($raids) = @_; foreach (@$raids) { - my $nb = $_->{level} =~ /6/ ? 4 : $_->{level} =~ /4|5/ ? 3 : 2; + my $nb = $_->{level} =~ /6|10/ ? 4 : $_->{level} =~ /4|5/ ? 3 : 2; @{$_->{disks}} >= $nb or die N("Not enough partitions for RAID level %d\n", $_->{level}); } }