[libvirt] [PATCH 0/7] virStorageVolCreateXMLFrom API

Cole Robinson crobinso at redhat.com
Mon May 4 17:42:55 UTC 2009


Hi all,

The following patches implement a new API call: virStorageVolCreateXMLFrom.

virStorageVolPtr
virStorageVolCreateXMLFrom(virStoragePoolPtr pool,
                           const char *xmldesc,
                           unsigned int flags,
                           virStorageVolPtr clonevol)

Arguments function similar to the regular volume create API, except the
parameter 'clonevol' is used as the input source. The API allows for
volume cloning, possibly across pools, or within the same pool but converting
volume formats.

Tests I performed (and ensured that a VM booted without complaints from the
new image):

Raw -> Raw (with successful sparse detection)
Raw -> QCOW2
QCOW2 -> Raw
QCOW2 -> QCOW2
QCOW2 -> VMDK
Raw partition ('disk' volume) -> Raw file

Thanks,
Cole

Cole Robinson (7):
  Add public API stubs for virStorageVolCreateXMLFrom
  Remote driver plumbing for virStorageVolCreateXMLFrom
  Test driver implementation of virStorageVolCreateXMLFrom
  Virsh commands vol-clone and vol-create-from
  Storage driver implementation for CreateXMLFrom
  Break out FS volume build routines to their own functions.
  VolumeCreateXMLFrom FS storage backend implementation.

 include/libvirt/libvirt.h          |    4 +
 include/libvirt/libvirt.h.in       |    4 +
 qemud/remote.c                     |   34 +++
 qemud/remote_dispatch_args.h       |    1 +
 qemud/remote_dispatch_prototypes.h |    7 +
 qemud/remote_dispatch_ret.h        |    1 +
 qemud/remote_dispatch_table.h      |    5 +
 qemud/remote_protocol.c            |   24 ++
 qemud/remote_protocol.h            |   18 ++
 qemud/remote_protocol.x            |   15 +-
 src/driver.h                       |    6 +
 src/libvirt.c                      |   61 +++++-
 src/libvirt_public.syms            |    5 +
 src/remote_internal.c              |   33 +++
 src/storage_backend.h              |    2 +
 src/storage_backend_fs.c           |  491 +++++++++++++++++++++++++-----------
 src/storage_driver.c               |  153 +++++++++++-
 src/test.c                         |   95 +++++++
 src/virsh.c                        |  177 +++++++++++++-
 19 files changed, 985 insertions(+), 151 deletions(-)




More information about the libvir-list mailing list