[libvirt] [PATCH 0/8] Normalization API

Michal Privoznik mprivozn at redhat.com
Tue Sep 17 14:46:00 UTC 2013


A while ago I've invented this vshCompleteXMLFromDomain() function to increase
device-detach intelligence. Basically, it took user's XML and tried to find
matching device in domain's XML. However, it was kind of buggy - finding the
matching device uses string comparison. This works on text values. It doesn't
on integer ones (who would expect that). So prior the lookup process, we need
to normalize the integer values (and whole XML). However, this can't be done on
the client side, since he has no knowledge which values are integer and which
are not. Therefore we need a new API.

Michal Privoznik (8):
  domain_conf: Introduce virDomainDeviceDefFormat
  Introduce new virDomainNormalizeXML API
  remote_driver: Implement virDomainNormalizeXML
  virsh: Expose virDomainNormalizeXML
  qemu: Implement vimDomainNormalizeXML
  domain_conf: Move MAC generation to post parse callback
  virDomainDeviceDefParse: Make PostParse callback call optional
  virsh: Resurrect vshCompleteXMLFromDomain

 daemon/remote.c                 |  50 ++++++++
 include/libvirt/libvirt.h.in    |   5 +
 python/generator.py             |   1 +
 python/libvirt-override-api.xml |   7 ++
 python/libvirt-override.c       |  30 +++++
 src/conf/domain_conf.c          | 180 ++++++++++++++++-------------
 src/conf/domain_conf.h          |   7 +-
 src/driver.h                    |   7 ++
 src/libvirt.c                   |  51 ++++++++
 src/libvirt_private.syms        |   1 +
 src/libvirt_public.syms         |   5 +
 src/libxl/libxl_driver.c        |  12 +-
 src/lxc/lxc_driver.c            |   6 +-
 src/openvz/openvz_conf.c        |   1 +
 src/openvz/openvz_driver.c      |  12 +-
 src/phyp/phyp_driver.c          |   2 +-
 src/qemu/qemu_command.c         |   7 +-
 src/qemu/qemu_driver.c          |  51 +++++++-
 src/remote/remote_driver.c      |  40 +++++++
 src/remote/remote_protocol.x    |  20 +++-
 src/uml/uml_driver.c            |   4 +-
 src/vbox/vbox_tmpl.c            |   5 +-
 src/vmx/vmx.c                   |   2 +
 src/xen/xend_internal.c         |   6 +-
 src/xen/xm_internal.c           |   8 +-
 src/xenapi/xenapi_driver.c      |   1 +
 src/xenxs/xen_sxpr.c            |   1 +
 src/xenxs/xen_xm.c              |   1 +
 tests/openvzutilstest.c         |   1 -
 tests/qemuhotplugtest.c         |   3 +-
 tools/virsh-domain.c            | 249 +++++++++++++++++++++++++++++++++++++++-
 tools/virsh.pod                 |   8 ++
 32 files changed, 666 insertions(+), 118 deletions(-)

-- 
1.8.1.5




More information about the libvir-list mailing list