This is a updated take based on stuff I had laying around and parts from
https://www.redhat.com/archives/libvir-list/2016-July/msg00872.html
This addresses the backing store parser, adds and improves bits to the
JSON->commandline generator prior to plugging in the gluster support.
This series does not yet address block jobs (snapshot/block copy) using
multi-host gluster volumes.
Peter Krempa (24):
tests: qemuxml2xml: Avoid crash when processing an XML that fails to
parse
tests: Add testing of backing store string parser
util: storage: Add parser for qemu's "json" backing pseudo-protocol
util: storage: Add support for host device backing specified via JSON
util: storage: Add support for URI based backing volumes in qemu's
JSON pseudo-protocol
util: storage: Add json pseudo protocol support for gluster volumes
util: storage: Add json pseudo protocol support for iSCSI volumes
util: storage: Add JSON backing volume parser for 'nbd' protocol
util: storage: Add JSON backing store parser for 'sheepdog' protocol
util: storage: Add 'ssh' network storage protocol
util: storage: Add JSON backing volume parser for 'ssh' protocol
util: json: Make first argument of virJSONValueObjectForeachKeyValue
const
util: qemu: Add wrapper for JSON -> commandline conversion
util: qemu: Add support for user-passed strings in JSON->commandline
util: qemu: Allow nested objects in JSON -> commandline generator
util: qemu: Allow for different approaches to format JSON arrays
util: qemu: Don't generate any extra commas in
virQEMUBuildCommandLineJSON
qemu: command: Rename qemuBuildNetworkDriveURI to
qemuBuildNetworkDriveStr
qemu: command: Split out network disk URI building
qemu: command: Extract drive source command line formatter
qemu: command: Refactor code extracted to qemuBuildDriveSourceStr
storage: gluster: Support multiple hosts in backend functions
util: qemu: Add support for numbered array members
qemu: command: Add infrastructure for object specified disk sources
Prasanna Kumar Kalever (1):
qemu: command: Add support for multi-host gluster disks
docs/formatdomain.html.in | 2 +-
src/libvirt_private.syms | 5 +
src/libxl/libxl_conf.c | 1 +
src/qemu/qemu_command.c | 428 +++++++++++++++------
src/qemu/qemu_driver.c | 3 +
src/qemu/qemu_parse_command.c | 1 +
src/storage/storage_backend_gluster.c | 82 ++--
src/util/virjson.c | 2 +-
src/util/virjson.h | 2 +-
src/util/virqemu.c | 219 +++++++++--
src/util/virqemu.h | 16 +
src/util/virstoragefile.c | 375 +++++++++++++++++-
src/util/virstoragefile.h | 4 +
src/xenconfig/xen_xl.c | 1 +
tests/qemucommandutiltest.c | 68 +++-
.../qemuxml2argv-disk-drive-network-gluster.args | 9 +-
.../qemuxml2argv-disk-drive-network-gluster.xml | 9 +
.../qemuxml2xmlout-disk-drive-network-gluster.xml | 10 +
tests/qemuxml2xmltest.c | 9 +-
tests/virstoragetest.c | 150 ++++++++
20 files changed, 1169 insertions(+), 227 deletions(-)
--
2.9.0