summaryrefslogtreecommitdiffstats
path: root/perl-install/partition_table
diff options
context:
space:
mode:
authorPascal Terjan <pterjan@mandriva.org>2010-02-09 19:47:35 +0000
committerPascal Terjan <pterjan@mandriva.org>2010-02-09 19:47:35 +0000
commitffeb132773e872b6aa85d03890e3b67f8275095c (patch)
treec5540265d3f111bc1ba3a5c7cc8b3d67314d0fe6 /perl-install/partition_table
parent45858a01db145725dd2a3d17f4c30d4f22645c87 (diff)
downloaddrakx-ffeb132773e872b6aa85d03890e3b67f8275095c.tar
drakx-ffeb132773e872b6aa85d03890e3b67f8275095c.tar.gz
drakx-ffeb132773e872b6aa85d03890e3b67f8275095c.tar.bz2
drakx-ffeb132773e872b6aa85d03890e3b67f8275095c.tar.xz
drakx-ffeb132773e872b6aa85d03890e3b67f8275095c.zip
fix using empty dmraid
Diffstat (limited to 'perl-install/partition_table')
-rw-r--r--perl-install/partition_table/raw.pm14
1 files changed, 13 insertions, 1 deletions
diff --git a/perl-install/partition_table/raw.pm b/perl-install/partition_table/raw.pm
index 1346eeac4..edae9bb65 100644
--- a/perl-install/partition_table/raw.pm
+++ b/perl-install/partition_table/raw.pm
@@ -124,7 +124,19 @@ sub get_geometries {
my (@hds) = @_;
@hds = grep {
- if (my $h = get_geometry($_->{file})) {
+ if ($_->{bus} =~ /dmraid/) {
+ sysopen(my $F, $_->{file}, 0);
+ my $total = c::total_sectors(fileno $F);
+ my %geom;
+ $geom{heads} = 255;
+ $geom{sectors} = 63;
+ $geom{start} = 1;
+ compute_nb_cylinders(\%geom, $total);
+ $geom{totalcylinders} = $geom{cylinders};
+ log::l("Fake geometry on ".$_->{file}.": heads=$geom{heads} sectors=$geom{sectors} cylinders=$geom{cylinders} start=$geom{start}");
+ add2hash_($_, { totalsectors => $total, geom => \%geom });
+ 1;
+ } elsif (my $h = get_geometry($_->{file})) {
add2hash_($_, $h);
1;
} else {