From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52530) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xbh04-0000tG-1T for qemu-devel@nongnu.org; Tue, 07 Oct 2014 22:29:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xbgzu-0006Sd-MJ for qemu-devel@nongnu.org; Tue, 07 Oct 2014 22:29:12 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:33101) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xbgzt-0006SF-6h for qemu-devel@nongnu.org; Tue, 07 Oct 2014 22:29:02 -0400 Message-ID: <5434A137.60904@huawei.com> Date: Wed, 8 Oct 2014 10:28:07 +0800 From: zhanghailiang MIME-Version: 1.0 References: <1412358473-31398-1-git-send-email-dgilbert@redhat.com> <1412358473-31398-24-git-send-email-dgilbert@redhat.com> In-Reply-To: <1412358473-31398-24-git-send-email-dgilbert@redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v4 23/47] migrate_init: Call from savevm List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert (git)" , qemu-devel@nongnu.org Cc: aarcange@redhat.com, yamahata@private.email.ne.jp, lilei@linux.vnet.ibm.com, quintela@redhat.com, cristian.klein@cs.umu.se, amit.shah@redhat.com, yanghy@cn.fujitsu.com On 2014/10/4 1:47, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" > > Suspend to file is very much like a migrate, and it makes life > easier if we have the Migration state available, so initialise it > in the savevm.c code for suspending. > > Signed-off-by: Dr. David Alan Gilbert > --- > include/migration/migration.h | 1 + > include/qemu/typedefs.h | 1 + > migration.c | 2 +- > savevm.c | 2 ++ > 4 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/include/migration/migration.h b/include/migration/migration.h > index 2c078c4..3aeae47 100644 > --- a/include/migration/migration.h > +++ b/include/migration/migration.h > @@ -140,6 +140,7 @@ int migrate_fd_close(MigrationState *s); > > void add_migration_state_change_notifier(Notifier *notify); > void remove_migration_state_change_notifier(Notifier *notify); > +MigrationState *migrate_init(const MigrationParams *params); > bool migration_in_setup(MigrationState *); > bool migration_has_finished(MigrationState *); > bool migration_has_failed(MigrationState *); > diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h > index 0f79b5c..8539de6 100644 > --- a/include/qemu/typedefs.h > +++ b/include/qemu/typedefs.h > @@ -16,6 +16,7 @@ struct Monitor; > typedef struct Monitor Monitor; > typedef struct MigrationIncomingState MigrationIncomingState; > typedef struct MigrationParams MigrationParams; > +typedef struct MigrationState MigrationState; > Er, another redefinition, when compile, it complains there is a redefinition of typedef ‘MigrationState’ in 'include/migration/migration.h:59', is this a problem? > typedef struct Property Property; > typedef struct PropertyInfo PropertyInfo; > diff --git a/migration.c b/migration.c > index 527423e..3a45b2a 100644 > --- a/migration.c > +++ b/migration.c > @@ -488,7 +488,7 @@ bool migration_has_failed(MigrationState *s) > s->state == MIG_STATE_ERROR); > } > > -static MigrationState *migrate_init(const MigrationParams *params) > +MigrationState *migrate_init(const MigrationParams *params) > { > MigrationState *s = migrate_get_current(); > int64_t bandwidth_limit = s->bandwidth_limit; > diff --git a/savevm.c b/savevm.c > index bffe890..a368a25 100644 > --- a/savevm.c > +++ b/savevm.c > @@ -949,6 +949,8 @@ static int qemu_savevm_state(QEMUFile *f) > .blk = 0, > .shared = 0 > }; > + MigrationState *ms = migrate_init(¶ms); > + ms->file = f; > > if (qemu_savevm_state_blocked(NULL)) { > return -EINVAL; >