Use the prefix 'vfio_container_devices_' to reflect the routine simply loops over the container's device list.
Reviewed-by: John Levon <john.le...@nutanix.com> Reviewed-by: Avihai Horon <avih...@nvidia.com> Link: https://lore.kernel.org/qemu-devel/20250326075122.1299361-31-...@redhat.com Signed-off-by: Cédric Le Goater <c...@redhat.com> --- include/hw/vfio/vfio-container-base.h | 3 ++- hw/vfio/common.c | 4 ++-- hw/vfio/container-base.c | 5 +++-- hw/vfio/container.c | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/hw/vfio/vfio-container-base.h b/include/hw/vfio/vfio-container-base.h index 9b33e71f59bba1f3cbe10c307172422ca4e4c2ce..395ace02e488519aba77ca401737f0b319d9a512 100644 --- a/include/hw/vfio/vfio-container-base.h +++ b/include/hw/vfio/vfio-container-base.h @@ -91,7 +91,8 @@ int vfio_container_set_dirty_page_tracking(VFIOContainerBase *bcontainer, bool start, Error **errp); bool vfio_container_dirty_tracking_is_started( const VFIOContainerBase *bcontainer); -bool vfio_devices_all_device_dirty_tracking(const VFIOContainerBase *bcontainer); +bool vfio_container_devices_dirty_tracking_is_supported( + const VFIOContainerBase *bcontainer); int vfio_get_dirty_bitmap(const VFIOContainerBase *bcontainer, uint64_t iova, uint64_t size, ram_addr_t ram_addr, Error **errp); diff --git a/hw/vfio/common.c b/hw/vfio/common.c index 89b7a71385abfff888c5208a6b4c588b4217716a..5a7327979d2cc83221384577398aa1276578ac26 100644 --- a/hw/vfio/common.c +++ b/hw/vfio/common.c @@ -935,7 +935,7 @@ static bool vfio_listener_log_global_start(MemoryListener *listener, listener); bool ret; - if (vfio_devices_all_device_dirty_tracking(bcontainer)) { + if (vfio_container_devices_dirty_tracking_is_supported(bcontainer)) { ret = vfio_devices_dma_logging_start(bcontainer, errp); } else { ret = vfio_container_set_dirty_page_tracking(bcontainer, true, errp) == 0; @@ -954,7 +954,7 @@ static void vfio_listener_log_global_stop(MemoryListener *listener) Error *local_err = NULL; int ret = 0; - if (vfio_devices_all_device_dirty_tracking(bcontainer)) { + if (vfio_container_devices_dirty_tracking_is_supported(bcontainer)) { vfio_devices_dma_logging_stop(bcontainer); } else { ret = vfio_container_set_dirty_page_tracking(bcontainer, false, diff --git a/hw/vfio/container-base.c b/hw/vfio/container-base.c index 1beba37a7739d76630c3e7db16a8d04926cb1aee..2627908e3fdbf1a43b86293a3f379baf88cef5ef 100644 --- a/hw/vfio/container-base.c +++ b/hw/vfio/container-base.c @@ -162,7 +162,8 @@ bool vfio_container_dirty_tracking_is_started( bcontainer->dirty_pages_started; } -bool vfio_devices_all_device_dirty_tracking(const VFIOContainerBase *bcontainer) +bool vfio_container_devices_dirty_tracking_is_supported( + const VFIOContainerBase *bcontainer) { VFIODevice *vbasedev; @@ -240,7 +241,7 @@ int vfio_get_dirty_bitmap(const VFIOContainerBase *bcontainer, uint64_t iova, uint64_t size, ram_addr_t ram_addr, Error **errp) { bool all_device_dirty_tracking = - vfio_devices_all_device_dirty_tracking(bcontainer); + vfio_container_devices_dirty_tracking_is_supported(bcontainer); uint64_t dirty_pages; VFIOBitmap vbmap; int ret; diff --git a/hw/vfio/container.c b/hw/vfio/container.c index e8cd9271365e4b2f55fac9ec402c292607f7fc1d..8e4a2cae037edd6d454582c8ebeb14b210463fc2 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -138,7 +138,7 @@ static int vfio_legacy_dma_unmap(const VFIOContainerBase *bcontainer, Error *local_err = NULL; if (iotlb && vfio_container_dirty_tracking_is_started(bcontainer)) { - if (!vfio_devices_all_device_dirty_tracking(bcontainer) && + if (!vfio_container_devices_dirty_tracking_is_supported(bcontainer) && bcontainer->dirty_pages_supported) { return vfio_dma_unmap_bitmap(container, iova, size, iotlb); } -- 2.49.0