While this is not strictly required for blockdev to work it was created
as a part of the testing (and possibly regression mitigation) effort.
These patches introduce the option to add or remove qemu capabilities
via the qemu XML namespace custom elements and remove features via
qemu.conf.
This series depends (very slightly) on the series deleting qemu parsing.
To make applying it easy I'd sugges you fetrch everything needed by:
git fetch
https://github.com/pipo/libvirt.git features-filter
Peter Krempa (15):
qemu: Rename qemuDomainCmdlineDefPtr to qemuDomainXmlNsDefPtr
qemu: Move qemuDomainXmlNsDef(Free) from qemu_conf.(ch)
qemu: domain: Use virStringListFreeCount in qemuDomainXmlNsDefFree
qemu: Extract parsing of qemu namespace arguments into separate
function
qemu: Extract parsing of qemu namespace env vars into separate
function
qemu: Refactor qemuDomainDefNamespaceParse
qemu: domain: Split out commandline namespace data formatting
conf: Add taint flag for custom hypervisor features
qemu: Add support for controling qemu capabilities via the qemu XML
namespace
qemu: domain: Add support for modifying qemu capability list via qemu
namespace
tests: qemuxml2argv: Modernize and fork 'qemu-ns' test
tests: qemuxml2argv: Test qemu namespace capability tweaking
qemu: Remove unused var 'corestr' from virQEMUDriverConfigLoadFile
qemu: conf: Add debug option to allow disabling qemu capabilities
qemu: Implement support for 'capability_filters' config option
docs/drvqemu.html.in | 30 ++
docs/schemas/domaincommon.rng | 19 ++
src/conf/domain_conf.c | 1 +
src/conf/domain_conf.h | 1 +
src/qemu/libvirtd_qemu.aug | 3 +
src/qemu/qemu.conf | 7 +
src/qemu/qemu_command.c | 16 +-
src/qemu/qemu_conf.c | 39 ++-
src/qemu/qemu_conf.h | 17 +-
src/qemu/qemu_domain.c | 285 +++++++++++++-----
src/qemu/qemu_domain.h | 19 ++
src/qemu/qemu_process.c | 55 ++++
src/qemu/test_libvirtd_qemu.aug.in | 3 +
tests/qemuxml2argvdata/qemu-ns.args | 33 --
.../qemu-ns.x86_64-4.0.0.args | 41 +++
.../qemu-ns.x86_64-latest.args | 41 +++
tests/qemuxml2argvdata/qemu-ns.xml | 5 +
tests/qemuxml2argvtest.c | 3 +-
18 files changed, 458 insertions(+), 160 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/qemu-ns.args
create mode 100644 tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args
create mode 100644 tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args
--
2.21.0