[Libguestfs] [PATCH v4 3/7] resize: add function mbr_part_type

Richard W.M. Jones rjones at redhat.com
Mon Sep 29 11:09:57 UTC 2014


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 at 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




More information about the Libguestfs mailing list