From: Steve Sistare <steven.sistare@oracle.com>
To: qemu-devel@nongnu.org
Cc: Alex Williamson <alex.williamson@redhat.com>,
Cedric Le Goater <clg@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
David Hildenbrand <david@redhat.com>,
Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>,
Hailiang Zhang <zhanghailiang@xfusion.com>,
Zhang Chen <chen.zhang@intel.com>,
Li Zhijian <lizhijian@fujitsu.com>,
Jason Wang <jasowang@redhat.com>,
Hyman Huang <yong.huang@smartx.com>,
Song Gao <gaosong@loongson.cn>,
Alistair Francis <alistair.francis@wdc.com>,
Steve Sistare <steven.sistare@oracle.com>
Subject: [PATCH V2 04/11] migration: export migration_is_running
Date: Mon, 11 Mar 2024 10:48:51 -0700 [thread overview]
Message-ID: <1710179338-294359-5-git-send-email-steven.sistare@oracle.com> (raw)
In-Reply-To: <1710179338-294359-1-git-send-email-steven.sistare@oracle.com>
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>
---
include/migration/misc.h | 1 +
migration/migration.c | 10 ++++++----
migration/migration.h | 2 --
migration/options.c | 4 ++--
migration/savevm.c | 2 +-
system/dirtylimit.c | 2 +-
target/riscv/kvm/kvm-cpu.c | 4 ++--
7 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/include/migration/misc.h b/include/migration/misc.h
index e1f1bf8..7526977 100644
--- a/include/migration/misc.h
+++ b/include/migration/misc.h
@@ -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);
diff --git a/migration/migration.c b/migration/migration.c
index 17859cb..546ba86 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -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:
@@ -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 */
@@ -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;
}
diff --git a/migration/migration.h b/migration/migration.h
index 736460a..e4983db 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -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 */
diff --git a/migration/options.c b/migration/options.c
index 40eb930..642cfb0 100644
--- a/migration/options.c
+++ b/migration/options.c
@@ -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;
}
@@ -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;
}
diff --git a/migration/savevm.c b/migration/savevm.c
index dc1fb9c..71974b6 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1705,7 +1705,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;
}
diff --git a/system/dirtylimit.c b/system/dirtylimit.c
index 051e031..1622bb7 100644
--- a/system/dirtylimit.c
+++ b/system/dirtylimit.c
@@ -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()) {
diff --git a/target/riscv/kvm/kvm-cpu.c b/target/riscv/kvm/kvm-cpu.c
index 422e4f1..cf046db 100644
--- a/target/riscv/kvm/kvm-cpu.c
+++ b/target/riscv/kvm/kvm-cpu.c
@@ -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"
@@ -700,7 +700,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");
--
1.8.3.1
next prev parent reply other threads:[~2024-03-11 17:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-11 17:48 [PATCH V2 00/11] privatize migration.h Steve Sistare
2024-03-11 17:48 ` [PATCH V2 01/11] migration: remove migration.h references Steve Sistare
2024-03-11 17:48 ` [PATCH V2 02/11] migration: export migration_is_setup_or_active Steve Sistare
2024-03-11 17:48 ` [PATCH V2 03/11] migration: export migration_is_active Steve Sistare
2024-03-11 17:48 ` Steve Sistare [this message]
2024-03-11 17:48 ` [PATCH V2 05/11] migration: export vcpu_dirty_limit_period Steve Sistare
2024-03-11 17:48 ` [PATCH V2 06/11] migration: migration_thread_is_self Steve Sistare
2024-03-11 17:48 ` [PATCH V2 07/11] migration: migration_is_device Steve Sistare
2024-03-11 17:48 ` [PATCH V2 08/11] migration: migration_file_set_error Steve Sistare
2024-03-11 17:48 ` [PATCH V2 09/11] migration: privatize colo interfaces Steve Sistare
2024-03-12 1:18 ` Zhang, Chen
2024-03-11 17:48 ` [PATCH V2 10/11] migration: delete unused accessors Steve Sistare
2024-03-11 17:48 ` [PATCH V2 11/11] migration: purge MigrationState from public interface Steve Sistare
2024-03-11 19:30 ` [PATCH V2 00/11] privatize migration.h Peter Xu
2024-03-11 19:45 ` Steven Sistare
2024-03-11 20:24 ` Steven Sistare
2024-03-11 20:28 ` Peter Xu
2024-03-11 20:34 ` Steven Sistare
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1710179338-294359-5-git-send-email-steven.sistare@oracle.com \
--to=steven.sistare@oracle.com \
--cc=alex.williamson@redhat.com \
--cc=alistair.francis@wdc.com \
--cc=chen.zhang@intel.com \
--cc=clg@redhat.com \
--cc=david@redhat.com \
--cc=farosas@suse.de \
--cc=gaosong@loongson.cn \
--cc=jasowang@redhat.com \
--cc=lizhijian@fujitsu.com \
--cc=mst@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=yong.huang@smartx.com \
--cc=zhanghailiang@xfusion.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.