summaryrefslogtreecommitdiffstats
path: root/perl-install/partition_table.pm
diff options
context:
space:
mode:
authorAnssi Hannula <anssi@mageia.org>2011-08-06 22:34:01 +0000
committerAnssi Hannula <anssi@mageia.org>2011-08-06 22:34:01 +0000
commita9026e9e0f8712029c9e34469030bcb42bd4b071 (patch)
tree5bcc9682110cf566a96b92a82a4a4e9191f4e90a /perl-install/partition_table.pm
parentf5b09c7842d64245fca229e6b2d39289a3d3e26e (diff)
downloaddrakx-backup-do-not-use-a9026e9e0f8712029c9e34469030bcb42bd4b071.tar
drakx-backup-do-not-use-a9026e9e0f8712029c9e34469030bcb42bd4b071.tar.gz
drakx-backup-do-not-use-a9026e9e0f8712029c9e34469030bcb42bd4b071.tar.bz2
drakx-backup-do-not-use-a9026e9e0f8712029c9e34469030bcb42bd4b071.tar.xz
drakx-backup-do-not-use-a9026e9e0f8712029c9e34469030bcb42bd4b071.zip
partition_table: align partitions to 1MB boundaries to avoid
performance issues with drives with 4k physical sectors (mga#1215)
Diffstat (limited to 'perl-install/partition_table.pm')
-rw-r--r--perl-install/partition_table.pm13
1 files changed, 13 insertions, 0 deletions
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
index ee801fc79..1e594ddf5 100644
--- a/perl-install/partition_table.pm
+++ b/perl-install/partition_table.pm
@@ -32,9 +32,22 @@ sub description {
$hd->{info}, $hd->{mntpoint}, $hd->{fs_type});
}
+#- align partition start to the next MB boundary
+sub align_to_MB_boundaries {
+ my ($part) = @_;
+
+ my $end = $part->{start} + $part->{size};
+ $part->{start} = round_up($part->{start}, MB(1));
+ $part->{size} = $end - $part->{start};
+}
+
sub adjustStartAndEnd {
my ($hd, $part) = @_;
+ # always align partition start to MB boundaries
+ # (this accounts for devices with non-512 physical sector sizes):
+ align_to_MB_boundaries($part);
+
$hd->adjustStart($part);
$hd->adjustEnd($part);
}