[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 05/12] savevm: Refactor cancel operation in its
From: |
Orit Wasserman |
Subject: |
Re: [Qemu-devel] [PATCH 05/12] savevm: Refactor cancel operation in its own operation |
Date: |
Sun, 01 Jul 2012 12:47:36 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 |
On 06/28/2012 10:22 PM, Juan Quintela wrote:
> Intead of abusing stage with value -1.
>
> Signed-off-by: Juan Quintela <address@hidden>
> ---
> arch_init.c | 11 ++++++-----
> block-migration.c | 10 ++++++----
> savevm.c | 4 ++--
> vmstate.h | 1 +
> 4 files changed, 15 insertions(+), 11 deletions(-)
>
> diff --git a/arch_init.c b/arch_init.c
> index 0b7e31f..36e19b0 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -296,6 +296,11 @@ static void migration_end(void)
> memory_global_dirty_log_stop();
> }
>
> +static void ram_migration_cancel(void *opaque)
> +{
> + migration_end();
> +}
> +
> #define MAX_WAIT 50 /* ms, half buffered_file limit */
>
> static int ram_save_live(QEMUFile *f, int stage, void *opaque)
> @@ -306,11 +311,6 @@ static int ram_save_live(QEMUFile *f, int stage, void
> *opaque)
> int ret;
> int i;
>
> - if (stage < 0) {
> - migration_end();
> - return 0;
> - }
> -
> memory_global_sync_dirty_bitmap(get_system_memory());
>
> if (stage == 1) {
> @@ -536,6 +536,7 @@ done:
> SaveVMHandlers savevm_ram_handlers = {
> .save_live_state = ram_save_live,
> .load_state = ram_load,
> + .cancel = ram_migration_cancel,
> };
>
> #ifdef HAS_AUDIO
> diff --git a/block-migration.c b/block-migration.c
> index 00151a0..cd8a8dd 100644
> --- a/block-migration.c
> +++ b/block-migration.c
> @@ -536,6 +536,11 @@ static void blk_mig_cleanup(void)
> }
> }
>
> +static void block_migration_cancel(void *opaque)
> +{
> + blk_mig_cleanup();
> +}
> +
> static int block_save_live(QEMUFile *f, int stage, void *opaque)
> {
> int ret;
> @@ -543,10 +548,6 @@ static int block_save_live(QEMUFile *f, int stage, void
> *opaque)
> DPRINTF("Enter save live stage %d submitted %d transferred %d\n",
> stage, block_mig_state.submitted, block_mig_state.transferred);
>
> - if (stage < 0) {
> - blk_mig_cleanup();
> - return 0;
> - }
>
> if (block_mig_state.blk_enable != 1) {
> /* no need to migrate storage */
> @@ -713,6 +714,7 @@ SaveVMHandlers savevm_block_handlers = {
> .set_params = block_set_params,
> .save_live_state = block_save_live,
> .load_state = block_load,
> + .cancel = block_migration_cancel,
> };
>
> void blk_mig_init(void)
> diff --git a/savevm.c b/savevm.c
> index a451be2..888c5a2 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -1703,8 +1703,8 @@ void qemu_savevm_state_cancel(QEMUFile *f)
> SaveStateEntry *se;
>
> QTAILQ_FOREACH(se, &savevm_handlers, entry) {
> - if (se->ops && se->ops->save_live_state) {
> - se->ops->save_live_state(f, -1, se->opaque);
> + if (se->ops && se->ops->cancel) {
> + se->ops->cancel(se->opaque);
> }
> }
> }
> diff --git a/vmstate.h b/vmstate.h
> index 0e24834..1dd42f5 100644
> --- a/vmstate.h
> +++ b/vmstate.h
> @@ -33,6 +33,7 @@ typedef struct SaveVMHandlers {
> void (*set_params)(const MigrationParams *params, void * opaque);
> SaveStateHandler *save_state;
> int (*save_live_state)(QEMUFile *f, int stage, void *opaque);
> + void (*cancel)(void *opaque);
> LoadStateHandler *load_state;
> } SaveVMHandlers;
>
Reviewed-by: Orit Wasserman <address@hidden>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH 05/12] savevm: Refactor cancel operation in its own operation,
Orit Wasserman <=