[libvirt] [PATCH V3 2/4] src/xenconfig: Xen-xl parser

Jim Fehlig jfehlig at suse.com
Sat Jan 10 05:08:46 UTC 2015


John Ferlan wrote:
> On 12/15/2014 11:30 PM, Jim Fehlig wrote:
>   
>> From: Kiarie Kahurani <davidkiarie4 at gmail.com>
>>
>> Introduce a Xen xl parser
>>
>> This parser allows for users to convert the new xl disk format and
>> spice graphics config to libvirt xml format and vice versa. Regarding
>> the spice graphics config, the code is pretty much straight forward.
>> For the disk {formating, parsing}, this parser takes care of the new
>> xl format which include positional parameters and key/value parameters.
>> In xl format disk config a <diskspec> consists of parameters separated by
>> commas. If the parameters do not contain an '=' they are automatically
>> assigned to certain options following the order below
>>
>>    target, format, vdev, access
>>
>> The above are the only mandatory parameters in the <diskspec> but there
>> are many more disk config options. These options can be specified as
>> key=value pairs. This takes care of the rest of the options such as
>>
>>   devtype, backend, backendtype, script, direct-io-safe,
>>
>> The positional paramters can also be specified in key/value form
>> for example
>>
>>     /dev/vg/guest-volume,,hda
>>     /dev/vg/guest-volume,raw,hda,rw
>>     format=raw, vdev=hda, access=rw, target=/dev/vg/guest-volume
>>
>> are interpleted to one config.
>>
>> In xm format, the above diskspec would be written as
>>
>> phy:/dev/vg/guest-volume,hda,w
>>
>> The disk parser is based on the same parser used successfully by
>> the Xen project for several years now.  Ian Jackson authored the
>> scanner, which is used by this commit with mimimal changes.  Only
>> the PREFIX option is changed, to produce function and file names
>> more consistent with libvirt's convention.
>>
>> Signed-off-by: Kiarie Kahurani <davidkiarie4 at gmail.com>
>> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
>> ---
>>  .gitignore                    |   1 +
>>  cfg.mk                        |   3 +-
>>  configure.ac                  |   1 +
>>  po/POTFILES.in                |   1 +
>>  src/Makefile.am               |  25 ++-
>>  src/libvirt_xenconfig.syms    |   4 +
>>  src/xenconfig/xen_common.c    |   3 +-
>>  src/xenconfig/xen_xl.c        | 499 ++++++++++++++++++++++++++++++++++++++++++
>>  src/xenconfig/xen_xl.h        |  33 +++
>>  src/xenconfig/xen_xl_disk.l   | 256 ++++++++++++++++++++++
>>  src/xenconfig/xen_xl_disk_i.h |  39 ++++
>>  11 files changed, 861 insertions(+), 4 deletions(-)
>>
>>     
>
> In addition to the build issues - it seems the generated "xen_xl_disk.c"
> has numerous issues found by Coverity. Since it's not clear to me how
> this is all put together - I'll cut-n-paste from my Coverity output and
> provide some basic analysis - hope it all makes sense...

Resolved by my series to revert the flex-based parser, which will remove
the generated file

https://www.redhat.com/archives/libvir-list/2015-January/msg00268.html

Regards,
Jim




More information about the libvir-list mailing list