This series implements the driver XML parsing callbacks as Dan suggested. This series may appear to be monstrous but I chose to split some patches to separate ones although the code does not compile afterwards to ease review. The patches starting with the word "fix" will need to be squashed into the non "fix" patches predceeding them. The last patch demonstrates the use of this code to get rid of the rest of the irrelevant fields in virCaps. I didn't go further with those to save time if there's a design flaw in the callback stuff. Peter Krempa (21): virCaps: conf: start splitting out irrelevat data fix fallout in src/conf/ fix fallout in src/esx fix fallout in src/lxc fix fallout in src/openvz fix fallout in src/parallels fix fallout in phyp driver fix fallout in src/qemu/ fix fallout in tests/ fix fallout in src/xen fix fallout in src/vmware fix fallout in src/uml fix fallout in test driver fix fallout in vbox driver conf: Add separate defaults addition and validation for XML parsing fix fallout from adding new parameter to internal APIs conf: Add argument to support use of the driver adjust callbacks qemu: Implement the device parse callback and use it for interfaces fix fallout of the change of the network device default conf: Move validation of domain title virCaps: get rid of "defaultInitPath" value in the virCaps struct src/Makefile.am | 2 + src/conf/capabilities.h | 9 +- src/conf/domain_conf.c | 322 +++++++++++++++++---- src/conf/domain_conf.h | 64 +++- src/conf/snapshot_conf.c | 3 +- src/conf/snapshot_conf.h | 1 + src/esx/esx_driver.c | 14 +- src/esx/esx_private.h | 2 + src/libvirt_private.syms | 2 + src/lxc/lxc_conf.c | 8 + src/lxc/lxc_conf.h | 2 + src/lxc/lxc_controller.c | 7 +- src/lxc/lxc_domain.c | 13 +- src/lxc/lxc_domain.h | 2 +- src/lxc/lxc_driver.c | 49 ++-- src/lxc/lxc_process.c | 9 +- src/openvz/openvz_conf.c | 33 ++- src/openvz/openvz_conf.h | 3 + src/openvz/openvz_driver.c | 20 +- src/parallels/parallels_driver.c | 12 +- src/parallels/parallels_utils.h | 1 + src/phyp/phyp_driver.c | 8 +- src/qemu/qemu_command.c | 9 +- src/qemu/qemu_command.h | 3 + src/qemu/qemu_conf.c | 11 +- src/qemu/qemu_conf.h | 4 + src/qemu/qemu_domain.c | 77 +++-- src/qemu/qemu_domain.h | 7 +- src/qemu/qemu_driver.c | 134 ++++----- src/qemu/qemu_migration.c | 22 +- src/qemu/qemu_process.c | 109 ++----- src/test/test_driver.c | 61 ++-- src/uml/uml_conf.h | 1 + src/uml/uml_driver.c | 35 ++- src/vbox/vbox_tmpl.c | 27 +- src/vmware/vmware_conf.c | 3 +- src/vmware/vmware_conf.h | 1 + src/vmware/vmware_driver.c | 25 +- src/xen/xen_driver.c | 8 +- src/xen/xen_driver.h | 1 + src/xen/xend_internal.c | 14 +- src/xen/xm_internal.c | 4 +- tests/domainsnapshotxml2xmltest.c | 5 + tests/lxcxml2xmltest.c | 7 +- tests/qemuargv2xmltest.c | 8 +- tests/qemumonitorjsontest.c | 29 +- tests/qemumonitortestutils.c | 4 +- tests/qemumonitortestutils.h | 5 +- .../qemuxml2argv-net-bandwidth.xml | 1 + .../qemuxml2argvdata/qemuxml2argv-net-client.args | 6 +- .../qemuxml2argv-net-eth-ifname.args | 6 +- .../qemuxml2argv-net-eth-ifname.xml | 1 + .../qemuxml2argv-net-eth-names.args | 8 +- tests/qemuxml2argvdata/qemuxml2argv-net-eth.args | 6 +- tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml | 1 + .../qemuxml2argvdata/qemuxml2argv-net-hostdev.xml | 1 + tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args | 6 +- .../qemuxml2argv-net-openvswitch.xml | 1 + .../qemuxml2argvdata/qemuxml2argv-net-server.args | 6 +- tests/qemuxml2argvdata/qemuxml2argv-net-user.args | 5 +- tests/qemuxml2argvdata/qemuxml2argv-net-user.xml | 1 + .../qemuxml2argv-net-virtio-network-portgroup.xml | 2 + tests/qemuxml2argvtest.c | 5 +- .../qemuxml2xmlout-graphics-spice-timeout.xml | 1 + tests/qemuxml2xmltest.c | 6 +- tests/qemuxmlnstest.c | 5 +- tests/testutilslxc.c | 7 + tests/testutilslxc.h | 2 + tests/testutilsqemu.c | 3 +- tests/testutilsqemu.h | 2 + tests/testutilsxen.c | 6 + tests/testutilsxen.h | 2 + tests/xmconfigtest.c | 8 +- tests/xml2sexprtest.c | 8 +- tests/xml2vmxtest.c | 8 +- 75 files changed, 848 insertions(+), 466 deletions(-) -- 1.8.1.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list