summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/ChangeLog7
-rw-r--r--perl-install/fsedit.pm3
-rw-r--r--perl-install/partition_table_raw.pm2
3 files changed, 9 insertions, 3 deletions
diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog
index c7154a2cb..0b88a7bbe 100644
--- a/perl-install/ChangeLog
+++ b/perl-install/ChangeLog
@@ -1,3 +1,10 @@
+2000-02-25 Pixel <pixel@mandrakesoft.com>
+
+ * partition_table_raw.pm (adjustEnd): more explicit error message
+
+ * fsedit.pm (allocatePartitions): fix a bug (size was getting too
+ big after each allocation) making adjustEnd cry
+
2000-02-24 Pixel <pixel@mandrakesoft.com>
* interactive_gtk.pm (new): added the "new" method to initialize
diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm
index 7e8fcf862..8f23f1795 100644
--- a/perl-install/fsedit.pm
+++ b/perl-install/fsedit.pm
@@ -263,10 +263,9 @@ sub allocatePartitions($$) {
$part = { start => $start, size => 0, maxsize => $size },
$hds, $to_add)) {
add($hd, $part, $hds);
+ $size -= $part->{size} + $part->{start} - $start;
$start = $part->{start} + $part->{size};
- $size -= $part->{size};
}
- $start = $_->{start} + $_->{size};
}
}
}
diff --git a/perl-install/partition_table_raw.pm b/perl-install/partition_table_raw.pm
index d1399f230..a6ccfdf2c 100644
--- a/perl-install/partition_table_raw.pm
+++ b/perl-install/partition_table_raw.pm
@@ -62,7 +62,7 @@ sub adjustEnd($$) {
my $end = $part->{start} + $part->{size};
my $end1 = round_down($end, cylinder_size($hd));
my $end2 = round_up($end - ($hd->{geom}{heads} > 2 ? 2 : 1) * $hd->{geom}{sectors}, cylinder_size($hd));
- $end2 <= $hd->{geom}{cylinders} * cylinder_size($hd) or die "adjustEnd go beyond end of device geometry";
+ $end2 <= $hd->{geom}{cylinders} * cylinder_size($hd) or die "adjustEnd go beyond end of device geometry ($end2 > $hd->{totalsectors})";
$part->{size} = ($end1 - $part->{start} > cylinder_size($hd) ? $end1 : $end2) - $part->{start};
$part->{size} > 0 or die "adjustEnd get a too small partition to handle correctly";
}