[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