On Fri, Sep 26, 2014 at 11:04:07AM +0800, Hu Tao wrote:
Function mbr_part_type returns one of "primary",
"extended" and
"logical". The type is used by parted when adding partitions.
Signed-off-by: Hu Tao <hutao(a)cn.fujitsu.com>
---
resize/resize.ml | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/resize/resize.ml b/resize/resize.ml
index b52af83..f1861d9 100644
--- a/resize/resize.ml
+++ b/resize/resize.ml
@@ -1094,10 +1094,17 @@ read the man page virt-resize(1).
calculate_target_partitions 1 start ~create_surplus:true partitions in
+ let mbr_part_type x =
+ (* for GPT, all partitions are regarded as Primary Partition. *)
+ if parttype = GPT then "primary"
+ else if x.p_part.G.part_num <= 4l && x.p_type <>
ContentExtendedPartition then "primary"
+ else if x.p_part.G.part_num <= 4l && x.p_type = ContentExtendedPartition
then "extended"
+ else "logical" in
+
(* Now partition the target disk. *)
List.iter (
fun p ->
- g#part_add "/dev/sdb" "primary" p.p_target_start
p.p_target_end
+ g#part_add "/dev/sdb" (mbr_part_type p) p.p_target_start p.p_target_end
) partitions;
(* Copy over the data. *)
Thanks - I will push 01-03 shortly. I'm just looking at the remaining
patches now.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top