John Ferlan wrote:
On 12/15/2014 11:30 PM, Jim Fehlig wrote:
> From: Kiarie Kahurani <davidkiarie4(a)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(a)gmail.com>
> Signed-off-by: Jim Fehlig <jfehlig(a)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