qemu/vdpa-Fix-dirty-page-bitmap-synchronization-not-done-.patch
Jiabo Feng b60d6a584c QEMU update to version 8.2.0-32:
- target/i386: csv: Release CSV3 shared pages after unmapping DMA
- target/i386: Add new CPU model ClearwaterForest
- target/i386: add sha512, sm3, sm4 feature bits
- docs: Add GNR, SRF and CWF CPU models
- target/i386: Export BHI_NO bit to guests
- target/i386: Introduce SierraForest-v2 model
- vdpa/iommufd:Implement DMA mapping through the iommufd interface
- vdpa/iommufd:Introduce vdpa-iommufd module
- vdpa/iommufd:support associating iommufd backend for vDPA devices
- Kconfig/iommufd/VDPA: Update IOMMUFD module configuration dependencies The vDPA module can also use IOMMUFD like the VFIO module.
- backends/iommufd: Get rid of qemu_open_old()
- backends/iommufd: Make iommufd_backend_*() return bool
- backends/iommufd: Fix missing ERRP_GUARD() for error_prepend()
- backends/iommufd: Remove mutex
- backends/iommufd: Remove check on number of backend users
- hw/intc: Add extioi ability of 256 vcpu interrupt routing
- hw/rtc: Fixed loongson rtc emulation errors
- hw/loongarch/boot: Adjust the loading position of the initrd
- target/loongarch: Fix the cpu unplug resource leak
- target/loongarch: fix vcpu reset command word issue
- vdpa:Fix dirty page bitmap synchronization not done after suspend for vdpa devices

Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com>
(cherry picked from commit a5212066e7516ff2a316e1b2feaa75dd5ee4d17a)
2025-05-15 17:01:38 +08:00

40 lines
1.3 KiB
Diff

From 257ffabb9c06b476a3a42bf679db6fbc61c19459 Mon Sep 17 00:00:00 2001
From: Adttil <2429917001@qq.com>
Date: Fri, 25 Apr 2025 09:41:59 +0800
Subject: [PATCH] vdpa:Fix dirty page bitmap synchronization not done after
suspend for vdpa devices
Change the flag for vdpa device to determine whether to perform log_sync
from dev->start to dev->log, and do not release dev->log after vdpa device
suspend, and release it uniformly by vhost_dev_stop.
Signed-off-by: Adttil <2429917001@qq.com>
---
hw/virtio/vhost.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index d29075aa04..bec6e63fc7 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -252,7 +252,7 @@ static void vhost_log_sync(MemoryListener *listener,
memory_listener);
MigrationState *ms = migrate_get_current();
- if (!dev->log_enabled || !dev->started) {
+ if (!dev->log_enabled || !dev->log) {
return;
}
@@ -2624,7 +2624,6 @@ int vhost_dev_suspend(struct vhost_dev *hdev, VirtIODevice *vdev, bool vrings)
memory_listener_unregister(&hdev->iommu_listener);
}
vhost_stop_config_intr(hdev);
- vhost_log_put(hdev, true);
hdev->started = false;
vdev->vhost_started = false;
hdev->vdev = NULL;
--
2.41.0.windows.1