summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2009-08-03 12:46:17 +0000
committerOlivier Blin <oblin@mandriva.com>2009-08-03 12:46:17 +0000
commit15b6bd76f1d99e254204cdfb063d63d2eded1cdf (patch)
tree9739598d4bce19f0e27fe7f9a954ebecf30407c7
parent60b94402d7b7f4485cb2f5f9cc144c6125c905be (diff)
downloaddrakiso-15b6bd76f1d99e254204cdfb063d63d2eded1cdf.tar
drakiso-15b6bd76f1d99e254204cdfb063d63d2eded1cdf.tar.gz
drakiso-15b6bd76f1d99e254204cdfb063d63d2eded1cdf.tar.bz2
drakiso-15b6bd76f1d99e254204cdfb063d63d2eded1cdf.tar.xz
drakiso-15b6bd76f1d99e254204cdfb063d63d2eded1cdf.zip
allocate image file matching number of cylinders (and not truncated)
-rwxr-xr-xdraklive11
1 files changed, 6 insertions, 5 deletions
diff --git a/draklive b/draklive
index 176bfb8..b246f1e 100755
--- a/draklive
+++ b/draklive
@@ -691,15 +691,16 @@ sub allocate_master {
sectors => 63, # sectors per track
};
- my $disk_sectors = fold_left { $::a + $::b } map { $_->{size} } @{$live->{media}{partitions}};
- $disk_sectors += $geom->{sectors}; # keep one more track
- $geom->{cylinders} = int($disk_sectors / ($geom->{sectors} * $geom->{heads}));
+ my $required_sectors = fold_left { $::a + $::b } map { $_->{size} } @{$live->{media}{partitions}};
+ $required_sectors += $geom->{sectors}; # keep one more track
+ $geom->{cylinders} = int($required_sectors / ($geom->{sectors} * $geom->{heads}));
+ my $total_sectors = $geom->{cylinders} * $geom->{heads} * $geom->{sectors};
mkdir_p(dirname($dest));
- MDV::Draklive::Utils::device_allocate_file($dest, $disk_sectors * $common::SECTORSIZE);
+ MDV::Draklive::Utils::device_allocate_file($dest, $total_sectors * $common::SECTORSIZE);
my $hd = bless {
- totalsectors => $geom->{cylinders} * $geom->{heads} * $geom->{sectors},
+ totalsectors => $total_sectors,
geom => $geom,
file => $dest,
}, 'partition_table::dos';