summaryrefslogtreecommitdiffstats
path: root/resize
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-10-06 10:22:16 +0100
committerRichard W.M. Jones <rjones@redhat.com>2011-10-06 10:22:16 +0100
commit74e4e86309c837e172e389ca45d10cebf42e215e (patch)
treece7147b55f92ab17aa94c9bcf0fe4bcaf3b69297 /resize
parent36d8bbb8586bbe571739a79de071edd392001963 (diff)
downloadlibguestfs-74e4e86309c837e172e389ca45d10cebf42e215e.tar.gz
libguestfs-74e4e86309c837e172e389ca45d10cebf42e215e.tar.xz
libguestfs-74e4e86309c837e172e389ca45d10cebf42e215e.zip
virt-resize: Align partitions to multiple of 128 sectors (instead of 64).
This gives us effectively 64 KByte alignment, optimal for all current types of storage.
Diffstat (limited to 'resize')
-rw-r--r--resize/resize.ml9
1 files changed, 5 insertions, 4 deletions
diff --git a/resize/resize.ml b/resize/resize.ml
index 1bd9632b..fecc1eb4 100644
--- a/resize/resize.ml
+++ b/resize/resize.ml
@@ -144,6 +144,7 @@ read the man page virt-resize(1).
printf "virt-resize\n";
printf "ntfsresize-force\n";
printf "32bitok\n";
+ printf "128-sector-alignment\n";
let g = new G.guestfs () in
g#add_drive_opts "/dev/null";
g#launch ();
@@ -563,7 +564,7 @@ let calculate_surplus () =
let nr_partitions = List.length partitions in
let overhead = (Int64.of_int sectsize) *^ (
2L *^ 64L +^ (* GPT start and end *)
- (64L *^ (Int64.of_int (nr_partitions + 1))) (* Maximum alignment *)
+ (128L *^ (Int64.of_int (nr_partitions + 1))) (* Maximum alignment *)
) +^
(Int64.of_int (max_bootloader - 64 * 512)) in (* Bootloader *)
@@ -852,7 +853,7 @@ let () =
if !nextpart = 4 then (
g#part_add "/dev/sdb" "extended" !start (-1L);
incr nextpart;
- start := !start +^ 64L
+ start := !start +^ 128L
);
let target_partnum = !nextpart in
let end_ = !start +^ size -^ 1L in
@@ -861,8 +862,8 @@ let () =
target_partnum, end_
) in
- (* Start of next partition + alignment to 64 sectors. *)
- start := ((end_ +^ 1L) +^ 63L) &^ (~^ 63L);
+ (* Start of next partition + alignment to 128 sectors. *)
+ start := ((end_ +^ 1L) +^ 127L) &^ (~^ 127L);
target_partnum
in