Skip to content

Commit

Permalink
migration: export migration_is_running
Browse files Browse the repository at this point in the history
Delete the MigrationState parameter from migration_is_running and move
it to the public API in misc.h.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.org/r/1710179338-294359-5-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>
  • Loading branch information
Steve Sistare authored and xzpeter committed Mar 11, 2024
1 parent 3a6813b commit aeaafb1
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 12 deletions.
1 change: 1 addition & 0 deletions include/migration/misc.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ int migration_call_notifiers(MigrationState *s, MigrationEventType type,
bool migration_in_setup(MigrationState *);
bool migration_has_finished(MigrationState *);
bool migration_has_failed(MigrationState *);
bool migration_is_running(void);
/* ...and after the device transmission */
/* True if incoming migration entered POSTCOPY_INCOMING_DISCARD */
bool migration_in_incoming_postcopy(void);
Expand Down
10 changes: 6 additions & 4 deletions migration/migration.c
Original file line number Diff line number Diff line change
Expand Up @@ -1103,9 +1103,11 @@ bool migration_is_setup_or_active(void)
}
}

bool migration_is_running(int state)
bool migration_is_running(void)
{
switch (state) {
MigrationState *s = current_migration;

switch (s->state) {
case MIGRATION_STATUS_ACTIVE:
case MIGRATION_STATUS_POSTCOPY_ACTIVE:
case MIGRATION_STATUS_POSTCOPY_PAUSED:
Expand Down Expand Up @@ -1477,7 +1479,7 @@ static void migrate_fd_cancel(MigrationState *s)

do {
old_state = s->state;
if (!migration_is_running(old_state)) {
if (!migration_is_running()) {
break;
}
/* If the migration is paused, kick it out of the pause */
Expand Down Expand Up @@ -1962,7 +1964,7 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc,
return true;
}

if (migration_is_running(s->state)) {
if (migration_is_running()) {
error_setg(errp, QERR_MIGRATION_ACTIVE);
return false;
}
Expand Down
2 changes: 0 additions & 2 deletions migration/migration.h
Original file line number Diff line number Diff line change
Expand Up @@ -479,8 +479,6 @@ bool migrate_has_error(MigrationState *s);

void migrate_fd_connect(MigrationState *s, Error *error_in);

bool migration_is_running(int state);

int migrate_init(MigrationState *s, Error **errp);
bool migration_is_blocked(Error **errp);
/* True if outgoing migration has entered postcopy phase */
Expand Down
4 changes: 2 additions & 2 deletions migration/options.c
Original file line number Diff line number Diff line change
Expand Up @@ -681,7 +681,7 @@ bool migrate_cap_set(int cap, bool value, Error **errp)
MigrationState *s = migrate_get_current();
bool new_caps[MIGRATION_CAPABILITY__MAX];

if (migration_is_running(s->state)) {
if (migration_is_running()) {
error_setg(errp, QERR_MIGRATION_ACTIVE);
return false;
}
Expand Down Expand Up @@ -725,7 +725,7 @@ void qmp_migrate_set_capabilities(MigrationCapabilityStatusList *params,
MigrationCapabilityStatusList *cap;
bool new_caps[MIGRATION_CAPABILITY__MAX];

if (migration_is_running(s->state) || migration_in_colo_state()) {
if (migration_is_running() || migration_in_colo_state()) {
error_setg(errp, QERR_MIGRATION_ACTIVE);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion migration/savevm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1706,7 +1706,7 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp)
MigrationState *ms = migrate_get_current();
MigrationStatus status;

if (migration_is_running(ms->state)) {
if (migration_is_running()) {
error_setg(errp, QERR_MIGRATION_ACTIVE);
return -EINVAL;
}
Expand Down
2 changes: 1 addition & 1 deletion system/dirtylimit.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ static bool dirtylimit_is_allowed(void)
{
MigrationState *ms = migrate_get_current();

if (migration_is_running(ms->state) &&
if (migration_is_running() &&
(!qemu_thread_is_self(&ms->thread)) &&
migrate_dirty_limit() &&
dirtylimit_in_service()) {
Expand Down
4 changes: 2 additions & 2 deletions target/riscv/kvm/kvm-cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
#include "kvm_riscv.h"
#include "sbi_ecall_interface.h"
#include "chardev/char-fe.h"
#include "migration/migration.h"
#include "migration/misc.h"
#include "sysemu/runstate.h"
#include "hw/riscv/numa.h"

Expand Down Expand Up @@ -729,7 +729,7 @@ static void kvm_riscv_put_regs_timer(CPUState *cs)
* frequency. Therefore, we should check whether they are the same here
* during the migration.
*/
if (migration_is_running(migrate_get_current()->state)) {
if (migration_is_running()) {
KVM_RISCV_GET_TIMER(cs, frequency, reg);
if (reg != env->kvm_timer_frequency) {
error_report("Dst Hosts timer frequency != Src Hosts");
Expand Down

0 comments on commit aeaafb1

Please sign in to comment.