diff options
author | Pascal Terjan <pterjan@mandriva.org> | 2010-02-09 19:47:35 +0000 |
---|---|---|
committer | Pascal Terjan <pterjan@mandriva.org> | 2010-02-09 19:47:35 +0000 |
commit | ffeb132773e872b6aa85d03890e3b67f8275095c (patch) | |
tree | c5540265d3f111bc1ba3a5c7cc8b3d67314d0fe6 /perl-install/partition_table | |
parent | 45858a01db145725dd2a3d17f4c30d4f22645c87 (diff) | |
download | drakx-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.pm | 14 |
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 { |