[Libguestfs] [PATCH] part-list: add support for show partition type

Chen, Hanxiao chenhanxiao at cn.fujitsu.com
Tue Mar 17 06:37:24 UTC 2015



> -----Original Message-----
> From: libguestfs-bounces at redhat.com [mailto:libguestfs-bounces at redhat.com] On
> Behalf Of Pino Toscano
> Sent: Friday, March 13, 2015 6:32 PM
> To: libguestfs at redhat.com
> Subject: Re: [Libguestfs] [PATCH] part-list: add support for show partition type
> 
> On Friday 13 March 2015 05:04:56 Chen Hanxiao wrote:
> > We lack of showing parttition type for part-list command.
> > This patch will add support for this.
> 
> You cannot extend the struct returned by part_init with new members,
> that will cause compatibility issues with existing C users of that API.
> 
> > Also 'parted -m' did not provide partition type info,
> > remove code section for 'parted -m' process.
> >
> > diff --git a/generator/structs.ml b/generator/structs.ml
> > index ea110a1..e7a9fa6 100644
> > --- a/generator/structs.ml
> > +++ b/generator/structs.ml
> > @@ -240,6 +240,7 @@ let structs = [
> >      "part_start", FBytes;
> >      "part_end", FBytes;
> >      "part_size", FBytes;
> > +    "part_type", FString;
> >      ];
> >      s_camel_name = "Partition" };
> >
> 
> I'd just add a new part_get_type (or something similar), which would
> call parted to return "primary"/etc. This would match what we do
> already with other attributes of partitions, and not force part_list
> to use a non-machine output type (which is not really meant for
> machine parsing).

Alright.
A new API would keep compatibility safe.

> 
> > diff --git a/resize/resize.ml b/resize/resize.ml
> > index 84fd6d4..8f8f67f 100644
> > --- a/resize/resize.ml
> > +++ b/resize/resize.ml
> > @@ -1078,7 +1078,7 @@ read the man page virt-resize(1).
> >             *)
> >            p_name = "";
> >            p_part = { G.part_num = 0l; part_start = 0L; part_end = 0L;
> > -                     part_size = 0L };
> > +                     part_size = 0L; part_type = "" };
> >            p_bootable = false; p_id = No_ID; p_type = ContentUnknown;
> >            p_label = None; p_guid = None;
> 
> Better add this information directly in the type partition, possibly
> also making use of type partition_type.
> 
> Also this could go in a different patch than the above changes to get
> the primary/extended/etc type of a partition.

I'll send a different patch for virt-resize on this.

Regards,
- Chen




More information about the Libguestfs mailing list