On 16/12/2024 09:46, Avihai Horon wrote: > vfio_devices_all_dirty_tracking() and vfio_dma_unmap_dirty_sync_needed() > share the same code that checks if dirty page tracking has been started. > > Extract it to a common helper vfio_devices_all_dirty_tracking_started(). > > Signed-off-by: Avihai Horon <avih...@nvidia.com>
Reviewed-by: Joao Martins <joao.m.mart...@oracle.com> > --- > hw/vfio/common.c | 25 +++++++++++++------------ > 1 file changed, 13 insertions(+), 12 deletions(-) > > diff --git a/hw/vfio/common.c b/hw/vfio/common.c > index 81fba81a6f..45783982c9 100644 > --- a/hw/vfio/common.c > +++ b/hw/vfio/common.c > @@ -184,16 +184,22 @@ static bool > vfio_devices_all_device_dirty_tracking_started( > return true; > } > > +static bool > +vfio_devices_all_dirty_tracking_started(const VFIOContainerBase *bcontainer) > +{ > + if (!migration_is_running()) { > + return false; > + } > + > + return vfio_devices_all_device_dirty_tracking_started(bcontainer) || > + bcontainer->dirty_pages_started; > +} > + > static bool vfio_devices_all_dirty_tracking(VFIOContainerBase *bcontainer) > { > VFIODevice *vbasedev; > > - if (!migration_is_running()) { > - return false; > - } > - > - if (!(vfio_devices_all_device_dirty_tracking_started(bcontainer) || > - bcontainer->dirty_pages_started)) { > + if (!vfio_devices_all_dirty_tracking_started(bcontainer)) { > return false; > } > > @@ -231,12 +237,7 @@ bool vfio_devices_all_device_dirty_tracking(const > VFIOContainerBase *bcontainer) > > bool vfio_dma_unmap_dirty_sync_needed(const VFIOContainerBase *bcontainer) > { > - if (!migration_is_running()) { > - return false; > - } > - > - return vfio_devices_all_device_dirty_tracking_started(bcontainer) || > - bcontainer->dirty_pages_started; > + return vfio_devices_all_dirty_tracking_started(bcontainer); > } > > static bool vfio_listener_skipped_section(MemoryRegionSection *section)