[PATCH] NEWS: Document some of my fixes in this release
by Jiri Denemark
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
NEWS.rst | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 15042595ed..1d3e3c3cff 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -61,6 +61,19 @@ v11.0.0 (unreleased)
schema. This is now fixed by not parsing any specified features when the
passthrough mode is used.
+ * qemu: Fix a crash when starting a domain with ovs bridge and QOS
+
+ * cpu: Add missing -v1 variants for CPU models
+
+ Some CPU models (mostly old ones) were missed when versioned CPU model
+ names were introduced in the previous release.
+
+ * qemu: Fix false error when recovering failed post-copy migration
+
+ In some cases libvirt would report a failure to recover post-copy migration
+ even though the recovery started just fine and migration would eventually
+ successfully finish.
+
v10.10.0 (2024-12-02)
=====================
--
2.47.1
3 months, 2 weeks
[PATCH] NEWS: Add few things I changed this release
by Martin Kletzander
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
NEWS.rst | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 9f0804ec67ff..02679602cc6a 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -17,6 +17,10 @@ v11.0.0 (unreleased)
* **New features**
+ * qemu: Add support for direct and extended tlbflush features
+
+ Domains can now utilise more tlbflush hyperv features.
+
* **Improvements**
* ch: Enable user aliases
@@ -42,6 +46,14 @@ v11.0.0 (unreleased)
Fix a possible crash when starting a transient domain which was
introduced in the previous release.
+ * qemu: Do not format invalid XML with hyperv features in passthrough mode
+
+ When hyperv features were specified together with ``mode="passthrough"``
+ libvirt parsed and formatted such features in the domain XML even though
+ they were not used at all, resulting in XML that is not valid based on our
+ schema. This is now fixed by not parsing any specified features when the
+ passthrough mode is used.
+
v10.10.0 (2024-12-02)
=====================
--
2.48.0
3 months, 2 weeks
[PATCH] NEWS: Document features/improvements/bug fixes I've participated in
by Michal Privoznik
There are some features/improvements/bug fixes I've either
contributed or reviewed/merged. Document them for upcoming
release.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
NEWS.rst | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index eedb6008bd..9f0804ec67 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -19,6 +19,22 @@ v11.0.0 (unreleased)
* **Improvements**
+ * ch: Enable user aliases
+
+ User can now specify custom aliases for devices in domain XML
+
+ * qemu: Grab a QUERY job when formatting domain XML
+
+ Under some specific conditions it might have happened that domain XML did
+ not contain runtime information or returned an XML that's in process of
+ changing (e.g. by a thread that's hotplugging a device). Formatting domain
+ XML now serializes properly with other threads.
+
+ * virtiofs: Allow read only mode
+
+ The ``<filesystem/>`` with `virtiofsd` backend can now use ``<readonly/>``
+ tag to export underlying filesystem in read only mode.
+
* **Bug fixes**
* qemu: tpm: do not update profile name for transient domains
--
2.45.2
3 months, 2 weeks
[libvirt PATCH] NEWS: document bug fix for snapshots
by Pavel Hrdina
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
NEWS.rst | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 08d1d24d48..98f489dfb0 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -21,6 +21,13 @@ v11.0.0 (unreleased)
* **Bug fixes**
+ * qemu: Fix snapshot to not delete disk image with internal snapshot
+
+ When a VM has internal snapshot that is parent to external snapshot and user
+ reverts to the internal snapshot and deletes the external snapshot Libvirt
+ would delete the disk image containing the internal snapshot. This would result
+ in data loss.
+
v10.10.0 (2024-12-02)
=====================
--
2.47.1
3 months, 2 weeks
[libvirt PATCH] NEWS: document fix for starting transient domains
by Ján Tomko
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
NEWS.rst | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 08d1d24d48..eedb6008bd 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -21,6 +21,11 @@ v11.0.0 (unreleased)
* **Bug fixes**
+ * qemu: tpm: do not update profile name for transient domains
+
+ Fix a possible crash when starting a transient domain which was
+ introduced in the previous release.
+
v10.10.0 (2024-12-02)
=====================
--
2.47.0
3 months, 2 weeks
Entering freeze for libvirt-11.0.0
by Jiri Denemark
I have just tagged v11.0.0-rc1 in the repository and pushed signed
tarballs to https://download.libvirt.org/
Please give the release candidate some testing and in case you find a
serious issue which should have a fix in the upcoming release, feel
free to reply to this thread to make sure the issue is more visible.
If you have not done so yet, please update NEWS.rst to document any
significant change you made since the last release.
Thanks,
Jirka
3 months, 2 weeks
[PATCH 0/2] storage_file: Refuse qcow2 images with empty string as 'data_file'
by Peter Krempa
See patch 1/2 for justification. Patch 2 is a test case.
Peter Krempa (2):
storage_file: Refuse qcow2 images with empty string as 'data_file'
virstoragetest: Add case for qcow2 image with empty string as
'data_file'
src/storage_file/storage_source.c | 10 ++++++++++
tests/virstoragetest.c | 5 +++++
.../images/datafile-emptystr.qcow2 | Bin 0 -> 327680 bytes
3 files changed, 15 insertions(+)
create mode 100644 tests/virstoragetestdata/images/datafile-emptystr.qcow2
--
2.47.1
3 months, 2 weeks
[PATCH] meson: Replace meson.source_root() with meson.project_source_root()
by Michal Privoznik
The source_root() method is deprecated in 0.56.0 and we're
recommended to use project_source_root() instead.
This is similar to commit v8.9.0-rc1~70 but somehow, the old
method sneaked in.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index c1a2e6eadb..f8eff99e2c 100644
--- a/meson.build
+++ b/meson.build
@@ -17,7 +17,7 @@ endif
i18n = import('i18n')
-po_dir = meson.source_root() / 'po'
+po_dir = meson.project_source_root() / 'po'
# figure out if we are building from git
--
2.45.2
3 months, 2 weeks
[PATCH] access: fix po_check when polkit is disabled
by Daniel P. Berrangé
The generated org.libvirt.api.policy.in file was recently added to the
POTFILES list as it contains translatable messages.
It is only generated when WITH_POLKIT && WITH_LIBVIRTD is satisfied
though, resulting in the 'po_check' syntax rule failing if either of
those conditions are not met.
It is harmless to unconditionally generate this file, as a separate
rule takes care of of installing it, and the latter remains under
the build conditions.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/access/meson.build | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/access/meson.build b/src/access/meson.build
index 0cc9cf2b79..d1336c0093 100644
--- a/src/access/meson.build
+++ b/src/access/meson.build
@@ -63,19 +63,22 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
)
endforeach
+# Generated outside the WITH_POLKIT / WITH_LIBVIRTD condition
+# because syntax-check/po_check requires this to exist
+polgen = custom_target(
+ 'org.libvirt.api.policy.in',
+ input: access_perm_h,
+ output: 'org.libvirt.api.policy.in',
+ command: [ meson_python_prog, python3_prog, genpolkit_prog, '@INPUT@' ],
+ capture: true,
+ build_by_default: true,
+)
+access_generated += polgen
+
if conf.has('WITH_POLKIT')
access_sources += access_polkit_sources
if conf.has('WITH_LIBVIRTD')
- polgen = custom_target(
- 'org.libvirt.api.policy.in',
- input: access_perm_h,
- output: 'org.libvirt.api.policy.in',
- command: [ meson_python_prog, python3_prog, genpolkit_prog, '@INPUT@' ],
- capture: true,
- build_by_default: true,
- )
- access_generated += polgen
i18n.merge_file(
input: polgen,
--
2.47.1
3 months, 2 weeks
[PATCH] qemu: support vlan change for linux host bridge during update-device
by Laine Stump
Since we previously only supported vlan tagging for interfaces
connected to an OVS bridge [*], the code in qemuChangeNet() (used by
the update-device API) assumed an interface with modified vlan config
was on an OVS bridge, and would call the OVS-specific
virNetDevOpenvswitchUpdateVlan().
Now that we support vlan tagging for interfaces connected to a
standard Linux host bridge, we must check the type of connection and
only call the OVS function when connected to an OVS bridge *both
before and after the update*. Otherwise we just set the flag to
re-connect to the bridge, which has the side effect of redoing the
vlan setup.
([*] or an SRIOV VF assigned using VFIO, but we don't support *any
runtime changes to that type of netdev so it's irrelevant here.)
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
I'm fine with this going in either before or after the 11.0.0 release
(would prefer before since it is a bugfix), but if it's going into the
release I'd rather it be included with RC2 rather than only in the
final release. For that reason, if someone ACKs the patch and agrees
that it's safe to go in, please push it for me (since Jiri will almost
certainly tag RC2 before I'm conscious on Monday morning)
src/qemu/qemu_hotplug.c | 32 ++++++++++++++++++++++++--------
1 file changed, 24 insertions(+), 8 deletions(-)
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index de0777d330..5a7e6c3b12 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -4144,8 +4144,13 @@ qemuDomainChangeNet(virQEMUDriver *driver,
* they don't apply to a particular type.
*/
- if (!virNetDevVlanEqual(virDomainNetGetActualVlan(olddev),
- virDomainNetGetActualVlan(newdev))) {
+ /* since attaching to a new bridge will re-do the vlan setup,
+ * we don't need to separately do that in the case that we're
+ * already switching to a different bridge
+ */
+ if (!(needBridgeChange ||
+ virNetDevVlanEqual(virDomainNetGetActualVlan(olddev),
+ virDomainNetGetActualVlan(newdev)))) {
needVlanUpdate = true;
}
@@ -4215,6 +4220,23 @@ qemuDomainChangeNet(virQEMUDriver *driver,
needReplaceDevDef = true;
}
+ if (needVlanUpdate) {
+ if (virDomainNetDefIsOvsport(olddev) && virDomainNetDefIsOvsport(newdev)) {
+ /* optimization if we're attached to an OVS bridge. This
+ * will redo vlan setup without needing to re-attach the
+ * tap device to the bridge
+ */
+ if (virNetDevOpenvswitchUpdateVlan(newdev->ifname, &newdev->vlan) < 0)
+ goto cleanup;
+ } else {
+ /* vlan setup is done as a part of reconnecting the tap
+ * device to a new bridge (either OVS or Linux host bridge).
+ */
+ needBridgeChange = true;
+ }
+ needReplaceDevDef = true;
+ }
+
if (needBridgeChange) {
if (qemuDomainChangeNetBridge(vm, olddev, newdev) < 0)
goto cleanup;
@@ -4266,12 +4288,6 @@ qemuDomainChangeNet(virQEMUDriver *driver,
goto cleanup;
}
- if (needVlanUpdate) {
- if (virNetDevOpenvswitchUpdateVlan(newdev->ifname, &newdev->vlan) < 0)
- goto cleanup;
- needReplaceDevDef = true;
- }
-
if (needReplaceDevDef) {
/* the changes above warrant replacing olddev with newdev in
* the domain's nets list.
--
2.47.1
3 months, 2 weeks