diff options
author | Steve Sistare <steven.sistare@oracle.com> | 2024-03-11 10:48:54 -0700 |
---|---|---|
committer | Peter Xu <peterx@redhat.com> | 2024-03-11 16:28:59 -0400 |
commit | 9bb630c6ee6e930e1c521829681365e5672bbd99 (patch) | |
tree | 79a0f633ad8803ded84a6e4267e8f019c293316b | |
parent | 6e7856397641326163ef493197a849f99a9a6a44 (diff) | |
download | qemu-9bb630c6ee6e930e1c521829681365e5672bbd99.zip qemu-9bb630c6ee6e930e1c521829681365e5672bbd99.tar.gz qemu-9bb630c6ee6e930e1c521829681365e5672bbd99.tar.bz2 |
migration: migration_is_device
Define and export migration_is_device to eliminate a dependency
on MigrationState.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.org/r/1710179338-294359-8-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>
-rw-r--r-- | hw/vfio/common.c | 4 | ||||
-rw-r--r-- | include/migration/misc.h | 1 | ||||
-rw-r--r-- | migration/migration.c | 7 |
3 files changed, 9 insertions, 3 deletions
diff --git a/hw/vfio/common.c b/hw/vfio/common.c index 2dbbf62..de01068 100644 --- a/hw/vfio/common.c +++ b/hw/vfio/common.c @@ -180,10 +180,8 @@ bool vfio_device_state_is_precopy(VFIODevice *vbasedev) static bool vfio_devices_all_dirty_tracking(VFIOContainerBase *bcontainer) { VFIODevice *vbasedev; - MigrationState *ms = migrate_get_current(); - if (!migration_is_active() && - ms->state != MIGRATION_STATUS_DEVICE) { + if (!migration_is_active() && !migration_is_device()) { return false; } diff --git a/include/migration/misc.h b/include/migration/misc.h index c4b5416..28cfaed 100644 --- a/include/migration/misc.h +++ b/include/migration/misc.h @@ -61,6 +61,7 @@ void migration_object_init(void); void migration_shutdown(void); bool migration_is_idle(void); bool migration_is_active(void); +bool migration_is_device(void); bool migration_thread_is_self(void); bool migration_is_setup_or_active(void); bool migrate_mode_is_cpr(MigrationState *); diff --git a/migration/migration.c b/migration/migration.c index afe72af..db1e627 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1647,6 +1647,13 @@ bool migration_is_active(void) s->state == MIGRATION_STATUS_POSTCOPY_ACTIVE); } +bool migration_is_device(void) +{ + MigrationState *s = current_migration; + + return s->state == MIGRATION_STATUS_DEVICE; +} + bool migration_thread_is_self(void) { MigrationState *s = current_migration; |