diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-10-06 10:22:16 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-10-06 10:22:16 +0100 |
commit | 74e4e86309c837e172e389ca45d10cebf42e215e (patch) | |
tree | ce7147b55f92ab17aa94c9bcf0fe4bcaf3b69297 /resize | |
parent | 36d8bbb8586bbe571739a79de071edd392001963 (diff) | |
download | libguestfs-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.ml | 9 |
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 |