[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.4 v3 1/3] migration: Fix global state with
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH for-2.4 v3 1/3] migration: Fix global state with Xen. |
Date: |
Mon, 3 Aug 2015 15:53:57 +0100 |
User-agent: |
Alpine 2.02 (DEB 1266 2009-07-14) |
On Mon, 3 Aug 2015, Anthony PERARD wrote:
> When doing migration via the QMP command xen_save_devices_state, the
> current runstate is not store into the global state section. Also the
> current runstate is not the one we want on the receiver side.
>
> During migration, the Xen toolstack paused QEMU before save the devices
> state. Also, the toolstack expect QEMU to autostart when the migration is
> finished.
> So this patch store "running" as it's current runstate.
>
> Signed-off-by: Anthony PERARD <address@hidden>
Amit, Juan,
if you are OK with this patch, I'll send a pull request with it and
patch #3.
Thanks,
Stefano
> include/migration/migration.h | 1 +
> migration/migration.c | 7 +++++++
> migration/savevm.c | 1 +
> 3 files changed, 9 insertions(+)
>
> diff --git a/include/migration/migration.h b/include/migration/migration.h
> index a2f8ed0..8334621 100644
> --- a/include/migration/migration.h
> +++ b/include/migration/migration.h
> @@ -203,4 +203,5 @@ void register_global_state(void);
> void global_state_set_optional(void);
> void savevm_skip_configuration(void);
> int global_state_store(void);
> +void global_state_store_running(void);
> #endif
> diff --git a/migration/migration.c b/migration/migration.c
> index fd4f99b..662e77e 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -122,6 +122,13 @@ int global_state_store(void)
> return 0;
> }
>
> +void global_state_store_running(void)
> +{
> + const char *state = RunState_lookup[RUN_STATE_RUNNING];
> + strncpy((char *)global_state.runstate,
> + state, sizeof(global_state.runstate));
> +}
> +
> static bool global_state_received(void)
> {
> return global_state.received;
> diff --git a/migration/savevm.c b/migration/savevm.c
> index 81dbe58..6071215 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -1394,6 +1394,7 @@ void qmp_xen_save_devices_state(const char *filename,
> Error **errp)
>
> saved_vm_running = runstate_is_running();
> vm_stop(RUN_STATE_SAVE_VM);
> + global_state_store_running();
>
> f = qemu_fopen(filename, "wb");
> if (!f) {
> --
> Anthony PERARD
>
- [Qemu-devel] [PATCH for-2.4 v3 0/3] Migration regressions with Xen., Anthony PERARD, 2015/08/03
- [Qemu-devel] [PATCH for-2.4 v3 3/3] migration: Fix regression for xenfv and pc, accel=xen machine., Anthony PERARD, 2015/08/03
- [Qemu-devel] [PATCH for-2.4 v3 2/3] migration: Add configuration section to vmstate with xen., Anthony PERARD, 2015/08/03
- [Qemu-devel] [PATCH for-2.4 v3 1/3] migration: Fix global state with Xen., Anthony PERARD, 2015/08/03
- Re: [Qemu-devel] [PATCH for-2.4 v3 1/3] migration: Fix global state with Xen.,
Stefano Stabellini <=
- Re: [Qemu-devel] [PATCH for-2.4 v3 0/3] Migration regressions with Xen., Amit Shah, 2015/08/03