From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=53122 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ps9kd-0005ek-N8 for qemu-devel@nongnu.org; Wed, 23 Feb 2011 03:07:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ps9kc-00026g-BO for qemu-devel@nongnu.org; Wed, 23 Feb 2011 03:07:11 -0500 Received: from mail-ww0-f53.google.com ([74.125.82.53]:51832) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ps9kc-00026c-2t for qemu-devel@nongnu.org; Wed, 23 Feb 2011 03:07:10 -0500 Received: by wwb17 with SMTP id 17so33878wwb.10 for ; Wed, 23 Feb 2011 00:07:09 -0800 (PST) MIME-Version: 1.0 Sender: tamura.yoshiaki@gmail.com In-Reply-To: References: Date: Wed, 23 Feb 2011 17:07:09 +0900 Message-ID: Subject: Re: [Qemu-devel] [PATCH 03/22] migration: Fold MigrationState into FdMigrationState From: Yoshiaki Tamura Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela Cc: qemu-devel@nongnu.org 2011/2/23 Juan Quintela : > Signed-off-by: Juan Quintela > --- > =A0migration-exec.c | =A0 10 +++++----- > =A0migration-fd.c =A0 | =A0 10 +++++----- > =A0migration-tcp.c =A0| =A0 10 +++++----- > =A0migration-unix.c | =A0 10 +++++----- > =A0migration.c =A0 =A0 =A0| =A0 11 +++++------ > =A0migration.h =A0 =A0 =A0| =A0 23 +++++------------------ > =A06 files changed, 30 insertions(+), 44 deletions(-) > > diff --git a/migration-exec.c b/migration-exec.c > index b49a475..02b0667 100644 > --- a/migration-exec.c > +++ b/migration-exec.c > @@ -93,12 +93,12 @@ FdMigrationState *exec_start_outgoing_migration(Monit= or *mon, > =A0 =A0 s->close =3D exec_close; > =A0 =A0 s->get_error =3D file_errno; > =A0 =A0 s->write =3D file_write; > - =A0 =A0s->mig_state.cancel =3D migrate_fd_cancel; > - =A0 =A0s->mig_state.get_status =3D migrate_fd_get_status; > - =A0 =A0s->mig_state.release =3D migrate_fd_release; > + =A0 =A0s->cancel =3D migrate_fd_cancel; > + =A0 =A0s->get_status =3D migrate_fd_get_status; > + =A0 =A0s->release =3D migrate_fd_release; > > - =A0 =A0s->mig_state.blk =3D blk; > - =A0 =A0s->mig_state.shared =3D inc; > + =A0 =A0s->blk =3D blk; > + =A0 =A0s->shared =3D inc; > > =A0 =A0 s->state =3D MIG_STATE_ACTIVE; > =A0 =A0 s->mon =3D NULL; > diff --git a/migration-fd.c b/migration-fd.c > index bd5e8a9..ccba86b 100644 > --- a/migration-fd.c > +++ b/migration-fd.c > @@ -76,12 +76,12 @@ FdMigrationState *fd_start_outgoing_migration(Monitor= *mon, > =A0 =A0 s->get_error =3D fd_errno; > =A0 =A0 s->write =3D fd_write; > =A0 =A0 s->close =3D fd_close; > - =A0 =A0s->mig_state.cancel =3D migrate_fd_cancel; > - =A0 =A0s->mig_state.get_status =3D migrate_fd_get_status; > - =A0 =A0s->mig_state.release =3D migrate_fd_release; > + =A0 =A0s->cancel =3D migrate_fd_cancel; > + =A0 =A0s->get_status =3D migrate_fd_get_status; > + =A0 =A0s->release =3D migrate_fd_release; > > - =A0 =A0s->mig_state.blk =3D blk; > - =A0 =A0s->mig_state.shared =3D inc; > + =A0 =A0s->blk =3D blk; > + =A0 =A0s->shared =3D inc; > > =A0 =A0 s->state =3D MIG_STATE_ACTIVE; > =A0 =A0 s->mon =3D NULL; > diff --git a/migration-tcp.c b/migration-tcp.c > index 355bc37..02b01ed 100644 > --- a/migration-tcp.c > +++ b/migration-tcp.c > @@ -95,12 +95,12 @@ FdMigrationState *tcp_start_outgoing_migration(Monito= r *mon, > =A0 =A0 s->get_error =3D socket_errno; > =A0 =A0 s->write =3D socket_write; > =A0 =A0 s->close =3D tcp_close; > - =A0 =A0s->mig_state.cancel =3D migrate_fd_cancel; > - =A0 =A0s->mig_state.get_status =3D migrate_fd_get_status; > - =A0 =A0s->mig_state.release =3D migrate_fd_release; > + =A0 =A0s->cancel =3D migrate_fd_cancel; > + =A0 =A0s->get_status =3D migrate_fd_get_status; > + =A0 =A0s->release =3D migrate_fd_release; > > - =A0 =A0s->mig_state.blk =3D blk; > - =A0 =A0s->mig_state.shared =3D inc; > + =A0 =A0s->blk =3D blk; > + =A0 =A0s->shared =3D inc; > > =A0 =A0 s->state =3D MIG_STATE_ACTIVE; > =A0 =A0 s->mon =3D NULL; > diff --git a/migration-unix.c b/migration-unix.c > index b9b0dbf..fb73f46 100644 > --- a/migration-unix.c > +++ b/migration-unix.c > @@ -94,12 +94,12 @@ FdMigrationState *unix_start_outgoing_migration(Monit= or *mon, > =A0 =A0 s->get_error =3D unix_errno; > =A0 =A0 s->write =3D unix_write; > =A0 =A0 s->close =3D unix_close; > - =A0 =A0s->mig_state.cancel =3D migrate_fd_cancel; > - =A0 =A0s->mig_state.get_status =3D migrate_fd_get_status; > - =A0 =A0s->mig_state.release =3D migrate_fd_release; > + =A0 =A0s->cancel =3D migrate_fd_cancel; > + =A0 =A0s->get_status =3D migrate_fd_get_status; > + =A0 =A0s->release =3D migrate_fd_release; > > - =A0 =A0s->mig_state.blk =3D blk; > - =A0 =A0s->mig_state.shared =3D inc; > + =A0 =A0s->blk =3D blk; > + =A0 =A0s->shared =3D inc; > > =A0 =A0 s->state =3D MIG_STATE_ACTIVE; > =A0 =A0 s->mon =3D NULL; > diff --git a/migration.c b/migration.c > index 3a371a3..dd4cdab 100644 > --- a/migration.c > +++ b/migration.c > @@ -86,7 +86,7 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObjec= t **ret_data) > =A0 =A0 const char *uri =3D qdict_get_str(qdict, "uri"); > > =A0 =A0 if (current_migration && > - =A0 =A0 =A0 =A0current_migration->mig_state.get_status(current_migratio= n) =3D=3D MIG_STATE_ACTIVE) { > + =A0 =A0 =A0 =A0current_migration->get_status(current_migration) =3D=3D = MIG_STATE_ACTIVE) { > =A0 =A0 =A0 =A0 monitor_printf(mon, "migration already in progress\n"); > =A0 =A0 =A0 =A0 return -1; > =A0 =A0 } > @@ -120,7 +120,7 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObj= ect **ret_data) > =A0 =A0 } > > =A0 =A0 if (current_migration) { > - =A0 =A0 =A0 =A0current_migration->mig_state.release(current_migration); > + =A0 =A0 =A0 =A0current_migration->release(current_migration); > =A0 =A0 } > > =A0 =A0 current_migration =3D s; > @@ -133,7 +133,7 @@ int do_migrate_cancel(Monitor *mon, const QDict *qdic= t, QObject **ret_data) > =A0 =A0 FdMigrationState *s =3D current_migration; > > =A0 =A0 if (s) > - =A0 =A0 =A0 =A0s->mig_state.cancel(s); > + =A0 =A0 =A0 =A0s->cancel(s); > > =A0 =A0 return 0; > =A0} > @@ -229,7 +229,7 @@ void do_info_migrate(Monitor *mon, QObject **ret_data= ) > =A0 =A0 QDict *qdict; > > =A0 =A0 if (current_migration) { > - =A0 =A0 =A0 =A0MigrationState *s =3D ¤t_migration->mig_state; > + =A0 =A0 =A0 =A0FdMigrationState *s =3D current_migration; > > =A0 =A0 =A0 =A0 switch (s->get_status(current_migration)) { > =A0 =A0 =A0 =A0 case MIG_STATE_ACTIVE: > @@ -353,8 +353,7 @@ void migrate_fd_connect(FdMigrationState *s) > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 migrate_fd_close); > > =A0 =A0 DPRINTF("beginning savevm\n"); > - =A0 =A0ret =3D qemu_savevm_state_begin(s->mon, s->file, s->mig_state.bl= k, > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0s->m= ig_state.shared); > + =A0 =A0ret =3D qemu_savevm_state_begin(s->mon, s->file, s->blk, s->shar= ed); > =A0 =A0 if (ret < 0) { > =A0 =A0 =A0 =A0 DPRINTF("failed, %d\n", ret); > =A0 =A0 =A0 =A0 migrate_fd_error(s); > diff --git a/migration.h b/migration.h > index f49a9e2..93441e4 100644 > --- a/migration.h > +++ b/migration.h > @@ -23,23 +23,10 @@ > =A0#define MIG_STATE_CANCELLED =A0 =A01 > =A0#define MIG_STATE_ACTIVE =A0 =A0 =A0 2 > > -typedef struct MigrationState MigrationState; > - > =A0typedef struct FdMigrationState FdMigrationState; > > -struct MigrationState > -{ > - =A0 =A0/* FIXME: add more accessors to print migration info */ > - =A0 =A0void (*cancel)(FdMigrationState *s); > - =A0 =A0int (*get_status)(FdMigrationState *s); > - =A0 =A0void (*release)(FdMigrationState *s); > - =A0 =A0int blk; > - =A0 =A0int shared; > -}; > - > =A0struct FdMigrationState > =A0{ > - =A0 =A0MigrationState mig_state; > =A0 =A0 int64_t bandwidth_limit; > =A0 =A0 QEMUFile *file; > =A0 =A0 int fd; > @@ -48,7 +35,12 @@ struct FdMigrationState > =A0 =A0 int (*get_error)(struct FdMigrationState*); > =A0 =A0 int (*close)(struct FdMigrationState*); > =A0 =A0 int (*write)(struct FdMigrationState*, const void *, size_t); > + =A0 =A0void (*cancel)(FdMigrationState *s); > + =A0 =A0int (*get_status)(FdMigrationState *s); > + =A0 =A0void (*release)(FdMigrationState *s); > =A0 =A0 void *opaque; > + =A0 =A0int blk; > + =A0 =A0int shared; > =A0}; Although I don't have objections for folding MigrationState into FdMigrationState, it would be good to ask why the original author split it intentionally. Thanks, Yoshi > > =A0void process_incoming_migration(QEMUFile *f); > @@ -130,11 +122,6 @@ void migrate_fd_wait_for_unfreeze(void *opaque); > > =A0int migrate_fd_close(void *opaque); > > -static inline FdMigrationState *migrate_to_fms(MigrationState *mig_state= ) > -{ > - =A0 =A0return container_of(mig_state, FdMigrationState, mig_state); > -} > - > =A0void add_migration_state_change_notifier(Notifier *notify); > =A0void remove_migration_state_change_notifier(Notifier *notify); > =A0int get_migration_state(void); > -- > 1.7.4 > > >