[libvirt PATCH 00/10] Revert <acpi-hotplug-bridge>
by Laine Stump
Starting with commit 58ba0f6a3d7342fba29edbbf2bb9cb5497c870e5, support
for overriding the default hotplug method for a guest using the
<acpi-bridge-hotplug> subelement of <features>/<pci> was added to
libvirt. This uses the QEMU global commandline switch:
ICH9-LPC.acpi-pci-hotplug-with-bridge-support=<off|on>
that was added to QEMU in qemu-6.1 (along with QEMU switching the
default hotplug type for new Q35-based machinetypes from "native PCIe"
to "ACPI").
Unfortunately, soon after we pushed the <acpi-bridge-hotplug> patches
to libvirt (2 days after, to be exact), during a regular weekly
meeting I attend with some of the QEMU developers, along with bugs
that had been found in ACPI hotplug since it was made the default,
they were also discussing issues they'd found with the implementation
of the QEMU commandline switch to change back to native PCIe hotplug.
Apparently the current method used by
acpi-pci-hotplug-with-bridge-support is causing "confusion" in guests,
so they were talking about the possibility of changing what the switch
does (or replacing it), and suggested that libvirt should "hold off"
on supporting it for now. (oops) (they didn't know that we had just
pushed Ani's patches that used it)
Since the current QEMU option is doomed to either changed behavior
(which would result in a guest-visible ABI change) or full deprecation
and replacement, it would be better for libvirt to not use it at all,
and re-implement based on whatever replacement QEMU comes up
with.
Once a new XML element has appeared in a libvirt upstream
release, we are committed to keeping it there "forever". However,
since there has not yet been an upstream release since
<acpi-bridge-hotplug> was added, there is still time to revert and
avoid the endless support/maintenance burden.
Not much time though! And that is the purpose of this patch
series. They revert, in reverse order, Ani's 4 original patches adding
the feature, along with Peter's 6 followup patches that correct a
logic error and streamline/beef up the unit tests.
(Note that it is still possible that QEMU would figure out a way out
of this without modifying their current flag in any significant way,
and in that case we could always "re-apply" the original
patches. However, if we don't revert before the next release (Andrea
has pointed out the freeze for RC1 is next Tuesday, and it would be
best to have it done before then), we will no longer have the option
to remove it.)
There was some conflict resolution necessary after the "git revert"
commands, due to other unrelated patches that changed test case data,
and due to a couple of Peter's patches also touching up the i440fx
pci-root-hotplug disabling test cases (which are *not* being reverted
- they work as advertised!).
Note that this series involves *re-adding* some things, just to remove
them again in a later revert - this is because Peter's patches
effectively reverted the addition of a QEMU capability flag that had
been added in Ani's original patches. If anyone would prefer, I can
squash those patches together so that the extra dance is eliminated
from the diffs; it just seemed more mechanical to do it this way
though.
A more detailed explanation of the issue:
Current Behavior of existing QEMU option
========================================
As far as I understand (and keep in mind that I have misunderstood and
misinterpreted this *at least* 4 separate times since it was first
explained to me!), the effect of this QEMU setting:
-global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=on
is to:
1) enable ACPI hotplug (i.e. expose it to the guest)
2) disable native PCIe hotplug (don't expose it to the guest)
By having only one of the two types of hotplug enabled, the intent is
to force the guest to use the still-enabled type of hotplug.
Unfortunately, after QEMU 6.1 was released with acpi-pci-hotplug=on as
the default for new machinetypes, problems were encountered with ACPI
hotplug, which caused more attention to be called to the QEMU switch,
and the people looking into that found that enabling ACPI and
disabling native PCIe hotplug doesn't necessarily have the desired
effect of causing the guest to use ACPI for hotplug (or maybe it was
the opposite direction). Instead, it "gets confused" (a very technical
term, I know. You can ask Julia or Michael for a definition :-)).
One possible fix that they talked about was changing the behavior of
ICH9-LPC.acpi-pci-hotplug-with-bridge-support:
Potential Change to Behavior of QEMU option
===========================================
I know it's more complex than this (again, Julia or Michael can
explain), but my basic understanding of the way that they're currently
thinking of modifying the acpi-pci-hotplug-with-bridge-support option
is to have everything the same, *except* that when acpi-hotplug=off,
ACPI hotplug will *still be enabled* along with native PCIe hotplug;
but because guest OSes prefer native hotplug over ACPI, native PCIe
hotplug will be chosen in that case. (Presumably this change prevents
the "confusion" that is seen with the existing behavior of the
option).
So essentially, the choice of whether to use ACPI is controlled by
enabling/disabling native PCIe hotplug (which *kind of* goes against
the libvirt philosophy of "the XML describes the virtual machine that
is presented to the guest"; instead it becomes "the XML describes how
the guest will behave").
Another possibility would be to completely scrap (well, deprecate and
later remove) the current QEMU commandline switch in favor of one or
more switches that behave differently but result in the desired
behavior.
In either case, I think the best course of action for libvirt is to
revert the current <acpi-bridge-hotplug>, wait until QEMU settles down
with a new workable set of switches, and then re-do libvirt support
based on that.
Laine Stump (10):
Revert "qemu: capabilities: Remove
QEMU_CAPS_PIIX4_ACPI_HOTPLUG_BRIDGE"
Revert "qemuxml2xmltest: Convert all acpi-hotplug control related
tests to DO_TEST_CAPS_LATEST"
Revert "qemuxml2argvtest: Add '-enable' variants for ACPI-hotplug
related cases"
Revert "qemuxml2argvtest: Use real-caps testing for
'acpi-hotplug-bridge-disable'"
Revert "qemuValidateDomainDefPCIFeature: Fix validation logic"
Revert "qemuValidateDomainDefPCIFeature: un-break error messages"
Revert "NEWS: document new acpi pci hotplug config option"
Revert "qemu: command: add support for acpi-bridge-hotplug feature"
Revert "conf: introduce support for acpi-bridge-hotplug feature"
Revert "qemu: capablities: detect
acpi-pci-hotplug-with-bridge-support"
NEWS.rst | 8 --
docs/formatdomain.rst | 29 ------
docs/schemas/domaincommon.rng | 15 ----
src/conf/domain_conf.c | 89 +------------------
src/conf/domain_conf.h | 9 --
src/qemu/qemu_capabilities.c | 4 +-
src/qemu/qemu_capabilities.h | 3 +-
src/qemu/qemu_command.c | 19 ----
src/qemu/qemu_validate.c | 41 ---------
.../caps_6.1.0.x86_64.xml | 1 -
.../caps_6.2.0.x86_64.xml | 1 -
...-hotplug-bridge-disable.aarch64-latest.err | 1 -
.../aarch64-acpi-hotplug-bridge-disable.xml | 13 ---
...-hotplug-bridge-disable.x86_64-latest.args | 34 -------
.../pc-i440fx-acpi-hotplug-bridge-disable.xml | 33 -------
...i-hotplug-bridge-enable.x86_64-latest.args | 34 -------
.../pc-i440fx-acpi-hotplug-bridge-enable.xml | 33 -------
...pi-hotplug-bridge-disable.x86_64-6.0.0.err | 1 -
...-hotplug-bridge-disable.x86_64-latest.args | 37 --------
.../q35-acpi-hotplug-bridge-disable.xml | 47 ----------
...cpi-hotplug-bridge-enable.x86_64-6.0.0.err | 1 -
...i-hotplug-bridge-enable.x86_64-latest.args | 37 --------
.../q35-acpi-hotplug-bridge-enable.xml | 47 ----------
tests/qemuxml2argvtest.c | 10 ---
...i-hotplug-bridge-disable.x86_64-latest.xml | 36 --------
...pi-hotplug-bridge-enable.x86_64-latest.xml | 36 --------
...cpi-root-hotplug-disable.x86_64-latest.xml | 33 -------
.../pc-i440fx-acpi-root-hotplug-disable.xml | 1 +
...acpi-root-hotplug-enable.x86_64-latest.xml | 33 -------
.../pc-i440fx-acpi-root-hotplug-enable.xml | 1 +
...i-hotplug-bridge-disable.x86_64-latest.xml | 53 -----------
...pi-hotplug-bridge-enable.x86_64-latest.xml | 53 -----------
tests/qemuxml2xmltest.c | 10 +--
33 files changed, 9 insertions(+), 794 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.aarch64-latest.err
delete mode 100644 tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.xml
delete mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.xml
delete mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-enable.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-enable.xml
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-6.0.0.err
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.xml
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-enable.x86_64-6.0.0.err
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-enable.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-enable.xml
delete mode 100644 tests/qemuxml2xmloutdata/pc-i440fx-acpi-hotplug-bridge-disable.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/pc-i440fx-acpi-hotplug-bridge-enable.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/pc-i440fx-acpi-root-hotplug-disable.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/pc-i440fx-acpi-root-hotplug-disable.xml
delete mode 100644 tests/qemuxml2xmloutdata/pc-i440fx-acpi-root-hotplug-enable.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/pc-i440fx-acpi-root-hotplug-enable.xml
delete mode 100644 tests/qemuxml2xmloutdata/q35-acpi-hotplug-bridge-disable.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/q35-acpi-hotplug-bridge-enable.x86_64-latest.xml
--
2.31.1
3 years
[libvirt PATCH 00/13] cgroup and thread management in ch driver.
by Praveen K Paladugu
This patchset adds support for cgroup management of ch threads. This version
correctly manages cgroups for vcpu and emulator threads created by ch. cgroup
management for iothreads is not yet supported.
Along with cgroup management, this patchset also enables support for pinning
vcpu and emulator threads to selected host cpus.
Praveen K Paladugu (2):
ch_process: Setup emulator and iothread settings
ch_driver: emulator threadinfo & pinning callbacks
Vineeth Pillai (11):
util: Helper functions to get process info
ch: Explicitly link to virt_util_lib
ch_domain: add virCHDomainGetMonitor helper method
ch_domain: add methods to manage private vcpu data
ch_driver,ch_domain: vcpu info getter callbacks
ch_driver: domainGetVcpuPinInfo and nodeGetCPUMap
ch_monitor: Get nicindexes in prep for cgroup mgmt
ch_cgroup: methods for cgroup mgmt in ch driver
ch_driver,ch_domain: vcpupin callback in ch driver
ch_driver: enable typed param string for numatune
ch_driver: add numatune callbacks for CH driver
po/POTFILES.in | 1 +
src/ch/ch_cgroup.c | 457 ++++++++++++++++++++++++
src/ch/ch_cgroup.h | 45 +++
src/ch/ch_conf.c | 2 +
src/ch/ch_conf.h | 9 +-
src/ch/ch_domain.c | 170 ++++++++-
src/ch/ch_domain.h | 32 +-
src/ch/ch_driver.c | 810 +++++++++++++++++++++++++++++++++++++++++-
src/ch/ch_monitor.c | 254 ++++++++++++-
src/ch/ch_monitor.h | 60 +++-
src/ch/ch_process.c | 368 ++++++++++++++++++-
src/ch/ch_process.h | 3 +
src/ch/meson.build | 6 +
src/util/virprocess.c | 136 +++++++
src/util/virprocess.h | 5 +
15 files changed, 2329 insertions(+), 29 deletions(-)
create mode 100644 src/ch/ch_cgroup.c
create mode 100644 src/ch/ch_cgroup.h
--
2.27.0
3 years
[PATCH 0/2] qemu_command: Generate -mem-prealloc in one corner case more
by Michal Privoznik
This is a result of mu discussion with Jing:
https://listman.redhat.com/archives/libvir-list/2021-September/msg00407.html
Turns out, the problem has nothing to do with my virtio-mem patches so
I'm sending fix separately.
Michal Prívozník (2):
qemuxml2argvtest: Introduce another numa-topology test
qemu_command: Generate -mem-prealloc in one corner case more
src/qemu/qemu_command.c | 17 ++++-----
.../fd-memory-numa-topology.args | 3 +-
.../fd-memory-numa-topology2.args | 5 +--
.../fd-memory-numa-topology3.args | 7 ++--
...d-memory-numa-topology4.x86_64-latest.args | 34 +++++++++++++++++
.../fd-memory-numa-topology4.xml | 37 +++++++++++++++++++
tests/qemuxml2argvtest.c | 1 +
...fd-memory-numa-topology4.x86_64-latest.xml | 1 +
tests/qemuxml2xmltest.c | 1 +
9 files changed, 88 insertions(+), 18 deletions(-)
create mode 100644 tests/qemuxml2argvdata/fd-memory-numa-topology4.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/fd-memory-numa-topology4.xml
create mode 120000 tests/qemuxml2xmloutdata/fd-memory-numa-topology4.x86_64-latest.xml
--
2.32.0
3 years
[libvirt PATCH 00/13] cgroup and thread management in ch driver.
by Vineeth Pillai
This patchset adds support for cgroup management of ch threads. This version
correctly manages cgroups for vcpu and emulator threads created by ch. cgroup
management for iothreads is not yet supported.
Along with cgroup management, this patchset also enables support for pinning
vcpu and emulator threads to selected host cpus.
Praveen K Paladugu (2):
ch_process: Setup emulator and iothread settings
ch_driver: emulator threadinfo & pinning callbacks
Vineeth Pillai (11):
util: Helper functions to get process info
ch: Explicitly link to virt_util_lib
ch_domain: add virCHDomainGetMonitor helper method
ch_domain: add methods to manage private vcpu data
ch_driver,ch_domain: vcpu info getter callbacks
ch_driver: domainGetVcpuPinInfo and nodeGetCPUMap
ch_monitor: Get nicindexes in prep for cgroup mgmt
ch_cgroup: methods for cgroup mgmt in ch driver
ch_driver,ch_domain: vcpupin callback in ch driver
ch_driver: enable typed param string for numatune
ch_driver: add numatune callbacks for CH driver
po/POTFILES.in | 1 +
src/ch/ch_cgroup.c | 457 ++++++++++++++++++++++++
src/ch/ch_cgroup.h | 45 +++
src/ch/ch_conf.c | 2 +
src/ch/ch_conf.h | 9 +-
src/ch/ch_domain.c | 170 ++++++++-
src/ch/ch_domain.h | 32 +-
src/ch/ch_driver.c | 810 +++++++++++++++++++++++++++++++++++++++++-
src/ch/ch_monitor.c | 254 ++++++++++++-
src/ch/ch_monitor.h | 60 +++-
src/ch/ch_process.c | 368 ++++++++++++++++++-
src/ch/ch_process.h | 3 +
src/ch/meson.build | 6 +
src/util/virprocess.c | 136 +++++++
src/util/virprocess.h | 5 +
15 files changed, 2329 insertions(+), 29 deletions(-)
create mode 100644 src/ch/ch_cgroup.c
create mode 100644 src/ch/ch_cgroup.h
--
2.27.0
3 years
[libvirt PATCH] [RFC] scripts: Check spelling
by Tim Wiederhake
This is a wrapper for codespell [1], a spell checker for source code.
Codespell does not compare words to a dictionary, but rather works by
checking words against a list of common typos, making it produce fewer
false positives than other solutions.
The script in this patch works around the lack of per-directory ignore
lists and some oddities regarding capitalization in ignore lists.
[1] (https://github.com/codespell-project/codespell/)
RFC:
Is there interest in having something like this in CI?
Examples of spelling mistakes that were found using codespell:
4ad3c95f4bef5c7c9657de470fb74a4d14c8a331,
785a11cec8693de7df024aae68975dd1799b646a,
1452317b5c727eb17178942012f57f0c37631ae4.
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
scripts/check-spelling.py | 115 ++++++++++++++++++++++++++++++++++++++
1 file changed, 115 insertions(+)
create mode 100755 scripts/check-spelling.py
diff --git a/scripts/check-spelling.py b/scripts/check-spelling.py
new file mode 100755
index 0000000000..01371c0d1e
--- /dev/null
+++ b/scripts/check-spelling.py
@@ -0,0 +1,115 @@
+#!/usr/bin/env python3
+
+import argparse
+import re
+import subprocess
+import os
+
+
+IGNORE_LIST = [
+ # ignore all translation files
+ ("/po/", []),
+
+ # ignore this script
+ ("/scripts/check-spelling.py", []),
+
+ # 3rd-party: keycodemapdb
+ ("/src/keycodemapdb/", []),
+
+ # 3rd-party: VirtualBox SDK
+ ("/src/vbox/vbox_CAPI", [
+ "aAdd",
+ "aCount",
+ "aLocation",
+ "aNumber",
+ "aParent",
+ "progess"]),
+
+ # 3rd-party: qemu
+ ("/tests/qemucapabilitiesdata/caps_", "encyption"),
+
+ # other
+ ("/", ["msdos", "MSDOS", "wan", "WAN", "hda", "HDA", "inout"]),
+ ("/NEWS.rst", ["crashers"]),
+ ("/docs/gitdm/companies/others", "Archiv"),
+ ("/docs/glib-adoption.rst", ["preferrable"]),
+ ("/docs/js/main.js", "whats"),
+ ("/examples/polkit/libvirt-acl.rules", ["userA", "userB", "userC"]),
+ ("/src/libvirt-domain.c", "PTD"),
+ ("/src/libxl/libxl_logger.c", ["purposedly"]),
+ ("/src/nwfilter/nwfilter_dhcpsnoop.c", "ether"),
+ ("/src/nwfilter/nwfilter_ebiptables_driver.c", "parm"),
+ ("/src/nwfilter/nwfilter_learnipaddr.c", "ether"),
+ ("/src/qemu/qemu_agent.c", "crypted"),
+ ("/src/qemu/qemu_agent.h", "crypted"),
+ ("/src/security/apparmor/libvirt-lxc", "devic"),
+ ("/src/security/apparmor/libvirt-qemu", "readby"),
+ ("/src/storage_file/storage_file_probe.c", "conectix"),
+ ("/src/util/virnetdevmacvlan.c", "calld"),
+ ("/src/util/virtpm.c", "parm"),
+ ("/tests/qemuagenttest.c", "IST"),
+ ("/tests/storagepoolxml2xml", "cant"),
+ ("/tests/sysinfodata/", ["sie"]),
+ ("/tests/testutils.c", ["nIn"]),
+ ("/tests/vircgroupdata/ovirt-node-6.6.mounts", "hald"),
+ ("/tests/virhostcpudata/", ["sie"]),
+ ("/tools/virt-host-validate-common.c", ["sie"]),
+]
+
+
+def check_spelling(directory):
+ """Returns list of tuple(filename, line number, word, suggestion)."""
+ process = subprocess.run(
+ ["codespell", directory],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ universal_newlines=True)
+
+ if process.returncode not in (0, 65):
+ exit("error: unexpected returncode %s" % process.returncode)
+
+ if process.stderr:
+ exit("error: unexpected output to stderr: \"%s\"" % process.stderr)
+
+ line_pattern = re.compile("^(.*):(.*): (.*) ==> (.*)$")
+ for line in process.stdout.split("\n"):
+ line = line.strip().replace(directory, "")
+ if not line:
+ continue
+ match = line_pattern.match(line)
+ if not match:
+ exit("error: unexpected line: \"%s\"" % line)
+ yield match.groups()
+
+
+def ignore(filename, linenumber, word, suggestion):
+ # Ignore abbreviations and ad-hoc variable names
+ if len(word) <= 2:
+ return True
+
+ for f, w in IGNORE_LIST:
+ if not filename.startswith(f):
+ continue
+ if word in w or not w:
+ return True
+ return False
+
+
+def main():
+ parser = argparse.ArgumentParser(description="Check spelling")
+ parser.add_argument(
+ "dir",
+ help="Path to source directory",
+ type=os.path.realpath)
+ args = parser.parse_args()
+
+ findings = [f for f in check_spelling(args.dir) if not ignore(*f)]
+ if findings:
+ template = "(\"{0}\", \"{2}\"),\t# line {1}, \"{3}\"?"
+ for finding in findings:
+ print(template.format(*finding))
+ exit("error: %s spelling errors" % len(findings))
+
+
+if __name__ == "__main__":
+ main()
--
2.31.1
3 years
[PATCH 0/4] qemu_agent: Rework domain object handling in open
by Michal Privoznik
The most important patch is the first one because it fixes a race
condition. The rest is just a cleanup I've noticed while looking at the
code.
Michal Prívozník (4):
qemu_agent: Rework domain object locking when opening agent
qemuAgentOpen: Rework domain object refcounting
qemu_agent: Drop destroy callback
qemuMonitorOpen: Rework domain object refcounting
src/qemu/qemu_agent.c | 17 ++++++++---------
src/qemu/qemu_agent.h | 2 --
src/qemu/qemu_monitor.c | 5 -----
src/qemu/qemu_process.c | 20 --------------------
4 files changed, 8 insertions(+), 36 deletions(-)
--
2.32.0
3 years
[PATCH v1 0/2] qemu_process: ensure the reboot process is performed completely
by Bihong Yu
When the vm reboot in ACPI mode, the vm has a certain probability to be shutoff
or paused status if the libvirtd is restarted for some reason, which is not
expected.
This patchset ensure the reboot process is performed completely.
Bihong Yu (2):
qemu_process: set fakereboot flags false after processing fakereboot
over
qemu_process: continue to process fakereboot after restarting libvirtd
src/qemu/qemu_process.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
--
2.27.0
3 years
[PATCH v4 0/5] qapi: Add feature flags to enum members
by Markus Armbruster
PATCH 1+2 add feature flags to enum members. Awkward due to an
introspection design mistake; see PATCH 1 for details.
PATCH 3+4 implement policy deprecated-input={reject,crash} for enum
values.
Policy deprecated-output=hide is not implemented, because we can't
hide a value without hiding the entire member, which is almost
certainly more than the requester of this policy bargained for.
Perhaps we want a new policy deprecated-output=hide-or-else-crash to
help us catch unwanted use of deprecated enum values. Perhaps we want
deprecated-output=hide to behave that way together with
deprecated-input=crash. Or even always. Thoughts?
PATCH 5 puts the new feature flags to use. It's RFC because it makes
sense only on top of Vladimir's deprecation of drive-backup. See its
commit message for a reference.
I prefer to commit new features together with a use outside tests/.
PATCH 5 adds such a use, but it's RFC, because it depends on
Vladimir's work. Perhaps another use pops up. I can delay this work
in the hope of a use becoming ready, but the feature flags work I have
in the pipeline will eventually force my hand.
v4:
* PATCH 1: Deprecate SchemaInfoEnum member @values.
* PATCH 2: Doc tweak
v3:
* PATCH 1+2: Update qapi-code-gen.rst [Kevin, Eric]
* PATCH 4: Commit message typo [Eric], doc update moved to PATCH 2
* PATCH 5: Doc comment FIXME resolved [Kevin]
v2:
* Rebased with straightforward conflicts.
* PATCH 1-4: No longer RFC.
* PATCH 1: "Since" information fixed [Eric]. Commit message updated
to reflect feedback.
* PATCH 2: Commit message amended to point out special feature flag
'deprecated' is ignored at this stage.
* PATCH 4: Documentation updated. Commit message tweaked.
Markus Armbruster (5):
qapi: Enable enum member introspection to show more than name
qapi: Add feature flags to enum members
qapi: Move compat policy from QObject to generic visitor
qapi: Implement deprecated-input={reject,crash} for enum values
block: Deprecate transaction type drive-backup
docs/about/deprecated.rst | 6 ++++
docs/devel/qapi-code-gen.rst | 29 ++++++++++++++-----
qapi/compat.json | 3 ++
qapi/introspect.json | 28 ++++++++++++++++--
qapi/transaction.json | 6 +++-
include/qapi/qobject-input-visitor.h | 4 ---
include/qapi/qobject-output-visitor.h | 4 ---
include/qapi/util.h | 6 +++-
include/qapi/visitor-impl.h | 3 ++
include/qapi/visitor.h | 9 ++++++
qapi/qapi-visit-core.c | 27 +++++++++++++++--
qapi/qmp-dispatch.c | 4 +--
qapi/qobject-input-visitor.c | 14 +--------
qapi/qobject-output-visitor.c | 14 +--------
scripts/qapi/expr.py | 3 +-
scripts/qapi/introspect.py | 19 +++++++++---
scripts/qapi/schema.py | 22 ++++++++++++--
scripts/qapi/types.py | 17 ++++++++++-
tests/qapi-schema/doc-good.json | 5 +++-
tests/qapi-schema/doc-good.out | 3 ++
tests/qapi-schema/doc-good.txt | 3 ++
.../qapi-schema/enum-dict-member-unknown.err | 2 +-
tests/qapi-schema/qapi-schema-test.json | 3 +-
tests/qapi-schema/qapi-schema-test.out | 1 +
tests/qapi-schema/test-qapi.py | 1 +
25 files changed, 174 insertions(+), 62 deletions(-)
--
2.31.1
3 years
[PATCH v1] docs: add minor clarifications for librbd encryption
by Or Ozeri
This should make the documentation less confusing mainly for
Ceph people.
Signed-off-by: Or Ozeri <oro(a)il.ibm.com>
---
docs/formatstorageencryption.html.in | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/formatstorageencryption.html.in b/docs/formatstorageencryption.html.in
index 66bf95ab0b..c8c9f08d1e 100644
--- a/docs/formatstorageencryption.html.in
+++ b/docs/formatstorageencryption.html.in
@@ -129,9 +129,10 @@
<h3><a id="StorageEncryptionLuks2">"luks2" format</a></h3>
<p>
The <code>luks2</code> format is currently supported only by the
- <code>librbd</code> engine, and can only be applied to RBD network disks.
+ <code>librbd</code> engine, and can only be applied to RBD network disks
+ (RBD images).
Since the <code>librbd</code> engine is currently not supported by the
- storage driver, you cannot use it to control such disks. However,
+ libvirt storage driver, you cannot use it to control such disks. However,
pre-formatted RBD luks2 disks can be loaded to a qemu VM using the qemu
VM driver.
A single
--
2.25.1
3 years
[libvirt PATCH v4 0/5] add interface infomation in guestinfo command
by zhanglei
zhanglei (5):
domain: add interface information to 'virDomainGetGuestInfo'
virsh: add interface information to guestinfo command
qemu: refactor 'qemuAgentGetInterfaces'
qemu: add guest interface information in 'qemuDomainGetGuestInfo'
NEWS: add guest interface information in 'virDomainGetGuestInfo'
NEWS.rst | 5 ++
docs/manpages/virsh.rst | 12 ++++-
include/libvirt/libvirt-domain.h | 1 +
src/libvirt-domain.c | 12 +++++
src/qemu/qemu_agent.c | 9 ++--
src/qemu/qemu_agent.h | 3 +-
src/qemu/qemu_driver.c | 90 +++++++++++++++++++++++++++++++-
tests/qemuagenttest.c | 2 +-
tools/virsh-domain.c | 6 +++
9 files changed, 131 insertions(+), 9 deletions(-)
--
2.31.1
3 years