[libvirt] [PATCH 0/5] virDomainCreateWithFlags API addition

Eric Blake eblake at redhat.com
Thu Jun 10 17:16:08 UTC 2010


>> If desired, a later patch can add hooks
>> (either a new XML element, or a new command comparable to autostart
>> that can toggle the state of a hidden field associated with domains)
>> so that virDomainCreate() can also be used to start a paused domain,
>> but that will be more invasive.
> 
> IMHO we really need to make this work for both APIs. The fact
> that VDSM only uses virDomainCreateXML is an application specific
> use case & not something we should be relying on. Since the
> virDomainCreate() API lacks a flags parameter, we need to define
> a new API  virDomainCreateFlags() which it adds it. That lets us
> get parity of functionality between transient and persistent
> guests.
> 
> This series looks ok, but I'd like the other API implemented before
> we commit this.

Here we go - my first attempt at an API addition patch.  More comments
in some of the various patches.  Also, note that I'm including a 6/5
for any discussion, but which should not be considered part of the
series to be pushed.

Eric Blake (6):
  libvirt: introduce domainCreateWithFlags API
  remote: protocol implementation for virDomainCreateWithFlags
  drivers: add virDomainCreateWithFlags if virDomainCreate exists
  qemu: support starting persistent domain paused
  virsh: add start --paused support
  [DON'T APPLY] remote: optimize remoteDomainCreate

 daemon/remote.c                     |   27 ++++++++++++++++++
 daemon/remote_dispatch_args.h       |    1 +
 daemon/remote_dispatch_prototypes.h |    8 +++++
 daemon/remote_dispatch_ret.h        |    1 +
 daemon/remote_dispatch_table.h      |    5 +++
 include/libvirt/libvirt.h.in        |    2 +
 src/driver.h                        |    6 +++-
 src/esx/esx_driver.c                |   11 ++++++-
 src/libvirt.c                       |   45 +++++++++++++++++++++++++++++-
 src/libvirt_public.syms             |    6 ++++
 src/lxc/lxc_driver.c                |   21 ++++++++++++-
 src/opennebula/one_driver.c         |   10 ++++++-
 src/openvz/openvz_driver.c          |   11 ++++++-
 src/phyp/phyp_driver.c              |    1 +
 src/qemu/qemu_driver.c              |   26 +++++++++++++----
 src/remote/remote_driver.c          |   53 +++++++++++++++++++++++++++++++++++
 src/remote/remote_protocol.c        |   20 +++++++++++++
 src/remote/remote_protocol.h        |   16 ++++++++++
 src/remote/remote_protocol.x        |   14 ++++++++-
 src/remote_protocol-structs         |    7 ++++
 src/test/test_driver.c              |    9 +++++-
 src/uml/uml_driver.c                |    8 ++++-
 src/vbox/vbox_tmpl.c                |    9 +++++-
 src/xen/xen_driver.c                |   11 ++++++-
 src/xenapi/xenapi_driver.c          |   20 ++++++++++++-
 tools/virsh.c                       |    9 +++++-
 tools/virsh.pod                     |    7 +++-
 27 files changed, 339 insertions(+), 25 deletions(-)




More information about the libvir-list mailing list