]> git.ipfire.org Git - thirdparty/libvirt.git/commit
Give virDomainDef parser & formatter their own flags
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 18 Nov 2014 16:44:00 +0000 (16:44 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 13 Jan 2015 16:26:12 +0000 (16:26 +0000)
commit0ecd6851093945dd5ddc78266c61b577c65394ae
tree280f7d0aa16d5174d400aaa6a7ede519edf14758
parente34473c1daf1303023ef91eb6315872b403be04b
Give virDomainDef parser & formatter their own flags

The virDomainDefParse* and virDomainDefFormat* methods both
accept the VIR_DOMAIN_XML_* flags defined in the public API,
along with a set of other VIR_DOMAIN_XML_INTERNAL_* flags
defined in domain_conf.c.

This is seriously confusing & error prone for a number of
reasons:

 - VIR_DOMAIN_XML_SECURE, VIR_DOMAIN_XML_MIGRATABLE and
   VIR_DOMAIN_XML_UPDATE_CPU are only relevant for the
   formatting operation
 - Some of the VIR_DOMAIN_XML_INTERNAL_* flags only apply
   to parse or to format, but not both.

This patch cleanly separates out the flags. There are two
distint VIR_DOMAIN_DEF_PARSE_* and VIR_DOMAIN_DEF_FORMAT_*
flags that are used by the corresponding methods. The
VIR_DOMAIN_XML_* flags received via public API calls must
be converted to the VIR_DOMAIN_DEF_FORMAT_* flags where
needed.

The various calls to virDomainDefParse which hardcoded the
use of the VIR_DOMAIN_XML_INACTIVE flag change to use the
VIR_DOMAIN_DEF_PARSE_INACTIVE flag.
41 files changed:
src/bhyve/bhyve_driver.c
src/conf/domain_conf.c
src/conf/domain_conf.h
src/conf/snapshot_conf.c
src/esx/esx_driver.c
src/hyperv/hyperv_driver.c
src/libvirt_private.syms
src/libxl/libxl_domain.c
src/libxl/libxl_driver.c
src/libxl/libxl_migration.c
src/lxc/lxc_driver.c
src/openvz/openvz_driver.c
src/parallels/parallels_driver.c
src/phyp/phyp_driver.c
src/qemu/qemu_domain.c
src/qemu/qemu_driver.c
src/qemu/qemu_migration.c
src/security/security_apparmor.c
src/security/virt-aa-helper.c
src/test/test_driver.c
src/uml/uml_driver.c
src/vbox/vbox_common.c
src/vmware/vmware_driver.c
src/xen/xen_driver.c
src/xen/xend_internal.c
src/xen/xm_internal.c
src/xenapi/xenapi_driver.c
tests/bhyvexml2argvtest.c
tests/bhyvexml2xmltest.c
tests/domainsnapshotxml2xmltest.c
tests/lxcxml2xmltest.c
tests/openvzutilstest.c
tests/qemuagenttest.c
tests/qemuhotplugtest.c
tests/qemuxml2argvtest.c
tests/qemuxml2xmltest.c
tests/qemuxmlnstest.c
tests/vmx2xmltest.c
tests/xmconfigtest.c
tests/xml2sexprtest.c
tests/xml2vmxtest.c