[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v9 05/10] Add MigrationParams structure
From: |
Orit Wasserman |
Subject: |
Re: [Qemu-devel] [PATCH v9 05/10] Add MigrationParams structure |
Date: |
Thu, 19 Apr 2012 09:39:57 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1 |
On 04/18/2012 08:26 PM, Anthony Liguori wrote:
> On 04/11/2012 01:49 PM, Orit Wasserman wrote:
>> Signed-off-by: Isaku Yamahata<address@hidden>
>
> If you're not going to SoB this patch, please make sure you set the
> GIT_AUTHOR appropriately so that there's a From line for Isaku. Otherwise it
> will mess up git history (you will be the author but will not have a SoB).
>
Sure.
Thanks,
Orit
> Reards,
>
> Anthony Liguori
>
>> ---
>> block-migration.c | 8 ++++----
>> migration.c | 13 ++++++++-----
>> migration.h | 9 +++++++--
>> qemu-common.h | 1 +
>> savevm.c | 11 ++++++++---
>> sysemu.h | 3 ++-
>> vmstate.h | 2 +-
>> 7 files changed, 31 insertions(+), 16 deletions(-)
>>
>> diff --git a/block-migration.c b/block-migration.c
>> index fd2ffff..b95b4e1 100644
>> --- a/block-migration.c
>> +++ b/block-migration.c
>> @@ -700,13 +700,13 @@ static int block_load(QEMUFile *f, void *opaque, int
>> version_id)
>> return 0;
>> }
>>
>> -static void block_set_params(int blk_enable, int shared_base, void *opaque)
>> +static void block_set_params(const MigrationParams *params, void *opaque)
>> {
>> - block_mig_state.blk_enable = blk_enable;
>> - block_mig_state.shared_base = shared_base;
>> + block_mig_state.blk_enable = params->blk;
>> + block_mig_state.shared_base = params->shared;
>>
>> /* shared base means that blk_enable = 1 */
>> - block_mig_state.blk_enable |= shared_base;
>> + block_mig_state.blk_enable |= params->shared;
>> }
>>
>> void blk_mig_init(void)
>> diff --git a/migration.c b/migration.c
>> index 94f7839..fc9511c 100644
>> --- a/migration.c
>> +++ b/migration.c
>> @@ -351,7 +351,7 @@ void migrate_fd_connect(MigrationState *s)
>> migrate_fd_close);
>>
>> DPRINTF("beginning savevm\n");
>> - ret = qemu_savevm_state_begin(s->file, s->blk, s->shared);
>> + ret = qemu_savevm_state_begin(s->file,&s->params);
>> if (ret< 0) {
>> DPRINTF("failed, %d\n", ret);
>> migrate_fd_error(s);
>> @@ -360,15 +360,14 @@ void migrate_fd_connect(MigrationState *s)
>> migrate_fd_put_ready(s);
>> }
>>
>> -static MigrationState *migrate_init(int blk, int inc)
>> +static MigrationState *migrate_init(const MigrationParams *params)
>> {
>> MigrationState *s = migrate_get_current();
>> int64_t bandwidth_limit = s->bandwidth_limit;
>>
>> memset(s, 0, sizeof(*s));
>> s->bandwidth_limit = bandwidth_limit;
>> - s->blk = blk;
>> - s->shared = inc;
>> + s->params = *params;
>>
>> s->bandwidth_limit = bandwidth_limit;
>> s->state = MIG_STATE_SETUP;
>> @@ -393,9 +392,13 @@ void qmp_migrate(const char *uri, bool has_blk, bool
>> blk,
>> Error **errp)
>> {
>> MigrationState *s = migrate_get_current();
>> + MigrationParams params;
>> const char *p;
>> int ret;
>>
>> + params.blk = blk;
>> + params.shared = inc;
>> +
>> if (s->state == MIG_STATE_ACTIVE) {
>> error_set(errp, QERR_MIGRATION_ACTIVE);
>> return;
>> @@ -410,7 +413,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>> return;
>> }
>>
>> - s = migrate_init(blk, inc);
>> + s = migrate_init(¶ms);
>>
>> if (strstart(uri, "tcp:",&p)) {
>> ret = tcp_start_outgoing_migration(s, p);
>> diff --git a/migration.h b/migration.h
>> index d798fac..b2097a9 100644
>> --- a/migration.h
>> +++ b/migration.h
>> @@ -19,6 +19,11 @@
>> #include "notify.h"
>> #include "error.h"
>>
>> +struct MigrationParams {
>> + int blk;
>> + int shared;
>> +};
>> +
>> typedef struct MigrationState MigrationState;
>>
>> struct MigrationState
>> @@ -31,10 +36,10 @@ struct MigrationState
>> int (*close)(MigrationState *s);
>> int (*write)(MigrationState *s, const void *buff, size_t size);
>> void *opaque;
>> - int blk;
>> - int shared;
>> + MigrationParams params;
>> };
>>
>> +
>> void process_incoming_migration(QEMUFile *f);
>>
>> int qemu_start_incoming_migration(const char *uri);
>> diff --git a/qemu-common.h b/qemu-common.h
>> index 50f659a..30c59c8 100644
>> --- a/qemu-common.h
>> +++ b/qemu-common.h
>> @@ -17,6 +17,7 @@ typedef struct DeviceState DeviceState;
>>
>> struct Monitor;
>> typedef struct Monitor Monitor;
>> +typedef struct MigrationParams MigrationParams;
>>
>> /* we put basic includes here to avoid repeating them in device drivers */
>> #include<stdlib.h>
>> diff --git a/savevm.c b/savevm.c
>> index 0b2fe38..4736784 100644
>> --- a/savevm.c
>> +++ b/savevm.c
>> @@ -1561,7 +1561,8 @@ bool qemu_savevm_state_blocked(Error **errp)
>> return false;
>> }
>>
>> -int qemu_savevm_state_begin(QEMUFile *f, int blk_enable, int shared)
>> +int qemu_savevm_state_begin(QEMUFile *f,
>> + const MigrationParams *params)
>> {
>> SaveStateEntry *se;
>> int ret;
>> @@ -1570,7 +1571,7 @@ int qemu_savevm_state_begin(QEMUFile *f, int
>> blk_enable, int shared)
>> if(se->set_params == NULL) {
>> continue;
>> }
>> - se->set_params(blk_enable, shared, se->opaque);
>> + se->set_params(params, se->opaque);
>> }
>>
>> qemu_put_be32(f, QEMU_VM_FILE_MAGIC);
>> @@ -1708,13 +1709,17 @@ void qemu_savevm_state_cancel(QEMUFile *f)
>> static int qemu_savevm_state(QEMUFile *f)
>> {
>> int ret;
>> + MigrationParams params = {
>> + .blk = 0,
>> + .shared = 0
>> + };
>>
>> if (qemu_savevm_state_blocked(NULL)) {
>> ret = -EINVAL;
>> goto out;
>> }
>>
>> - ret = qemu_savevm_state_begin(f, 0, 0);
>> + ret = qemu_savevm_state_begin(f,¶ms);
>> if (ret< 0)
>> goto out;
>>
>> diff --git a/sysemu.h b/sysemu.h
>> index bc2c788..6540c79 100644
>> --- a/sysemu.h
>> +++ b/sysemu.h
>> @@ -77,7 +77,8 @@ void do_info_snapshots(Monitor *mon);
>> void qemu_announce_self(void);
>>
>> bool qemu_savevm_state_blocked(Error **errp);
>> -int qemu_savevm_state_begin(QEMUFile *f, int blk_enable, int shared);
>> +int qemu_savevm_state_begin(QEMUFile *f,
>> + const MigrationParams *params);
>> int qemu_savevm_state_iterate(QEMUFile *f);
>> int qemu_savevm_state_complete(QEMUFile *f);
>> void qemu_savevm_state_cancel(QEMUFile *f);
>> diff --git a/vmstate.h b/vmstate.h
>> index 82d97ae..5af45e0 100644
>> --- a/vmstate.h
>> +++ b/vmstate.h
>> @@ -26,7 +26,7 @@
>> #ifndef QEMU_VMSTATE_H
>> #define QEMU_VMSTATE_H 1
>>
>> -typedef void SaveSetParamsHandler(int blk_enable, int shared, void *
>> opaque);
>> +typedef void SaveSetParamsHandler(const MigrationParams *params, void *
>> opaque);
>> typedef void SaveStateHandler(QEMUFile *f, void *opaque);
>> typedef int SaveLiveStateHandler(QEMUFile *f, int stage, void *opaque);
>> typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id);
>
>
- Re: [Qemu-devel] [PATCH v9 03/10] Add save_block_hdr function, (continued)
[Qemu-devel] [PATCH v9 04/10] Add host_from_stream_offset_versioned function, Orit Wasserman, 2012/04/11
[Qemu-devel] [PATCH v9 05/10] Add MigrationParams structure, Orit Wasserman, 2012/04/11
[Qemu-devel] [PATCH v9 06/10] Add XBZRLE to ram_save_block and ram_save_live, Orit Wasserman, 2012/04/11
[Qemu-devel] [PATCH v9 08/10] Add migration capabilites, Orit Wasserman, 2012/04/11
[Qemu-devel] [PATCH v9 07/10] Add XBZRLE option to migrate command, Orit Wasserman, 2012/04/11