aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Sistare <steven.sistare@oracle.com>2024-03-11 10:48:50 -0700
committerPeter Xu <peterx@redhat.com>2024-03-11 16:28:59 -0400
commit3a6813b68cf21a366522564f83f885bf2657dcc8 (patch)
tree8369a19450510e242f041e5e311b4f40ecc2ee40
parent7dcb3c87d87cbf3359c9bbef8066e5195ee92f4d (diff)
downloadqemu-3a6813b68cf21a366522564f83f885bf2657dcc8.zip
qemu-3a6813b68cf21a366522564f83f885bf2657dcc8.tar.gz
qemu-3a6813b68cf21a366522564f83f885bf2657dcc8.tar.bz2
migration: export migration_is_active
Delete the MigrationState parameter from migration_is_active so it can be exported and used without including migration.h. Signed-off-by: Steve Sistare <steven.sistare@oracle.com> Link: https://lore.kernel.org/r/1710179338-294359-4-git-send-email-steven.sistare@oracle.com Signed-off-by: Peter Xu <peterx@redhat.com>
-rw-r--r--hw/vfio/common.c4
-rw-r--r--include/migration/misc.h2
-rw-r--r--migration/migration.c10
-rw-r--r--system/dirtylimit.c2
4 files changed, 10 insertions, 8 deletions
diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 896eab8..2dbbf62 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -182,7 +182,7 @@ static bool vfio_devices_all_dirty_tracking(VFIOContainerBase *bcontainer)
VFIODevice *vbasedev;
MigrationState *ms = migrate_get_current();
- if (ms->state != MIGRATION_STATUS_ACTIVE &&
+ if (!migration_is_active() &&
ms->state != MIGRATION_STATUS_DEVICE) {
return false;
}
@@ -225,7 +225,7 @@ vfio_devices_all_running_and_mig_active(const VFIOContainerBase *bcontainer)
{
VFIODevice *vbasedev;
- if (!migration_is_active(migrate_get_current())) {
+ if (!migration_is_active()) {
return false;
}
diff --git a/include/migration/misc.h b/include/migration/misc.h
index 79cff62..e1f1bf8 100644
--- a/include/migration/misc.h
+++ b/include/migration/misc.h
@@ -60,7 +60,7 @@ void dump_vmstate_json_to_file(FILE *out_fp);
void migration_object_init(void);
void migration_shutdown(void);
bool migration_is_idle(void);
-bool migration_is_active(MigrationState *);
+bool migration_is_active(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 af21403..17859cb 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1406,7 +1406,7 @@ static void migrate_fd_cleanup(MigrationState *s)
qemu_fclose(tmp);
}
- assert(!migration_is_active(s));
+ assert(!migration_is_active());
if (s->state == MIGRATION_STATUS_CANCELLING) {
migrate_set_state(&s->state, MIGRATION_STATUS_CANCELLING,
@@ -1637,8 +1637,10 @@ bool migration_is_idle(void)
return false;
}
-bool migration_is_active(MigrationState *s)
+bool migration_is_active(void)
{
+ MigrationState *s = current_migration;
+
return (s->state == MIGRATION_STATUS_ACTIVE ||
s->state == MIGRATION_STATUS_POSTCOPY_ACTIVE);
}
@@ -3461,7 +3463,7 @@ static void *migration_thread(void *opaque)
trace_migration_thread_setup_complete();
- while (migration_is_active(s)) {
+ while (migration_is_active()) {
if (urgent || !migration_rate_exceeded(s->to_dst_file)) {
MigIterateState iter_state = migration_iteration_run(s);
if (iter_state == MIG_ITERATE_SKIP) {
@@ -3607,7 +3609,7 @@ static void *bg_migration_thread(void *opaque)
migration_bh_schedule(bg_migration_vm_start_bh, s);
bql_unlock();
- while (migration_is_active(s)) {
+ while (migration_is_active()) {
MigIterateState iter_state = bg_migration_iteration_run(s);
if (iter_state == MIG_ITERATE_SKIP) {
continue;
diff --git a/system/dirtylimit.c b/system/dirtylimit.c
index 774ff44..051e031 100644
--- a/system/dirtylimit.c
+++ b/system/dirtylimit.c
@@ -83,7 +83,7 @@ static void vcpu_dirty_rate_stat_collect(void)
int64_t period = DIRTYLIMIT_CALC_TIME_MS;
if (migrate_dirty_limit() &&
- migration_is_active(s)) {
+ migration_is_active()) {
period = s->parameters.x_vcpu_dirty_limit_period;
}