All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 05/23] migration: Refactor MigrationState creation
Date: Tue, 04 Oct 2011 09:23:52 -0500	[thread overview]
Message-ID: <4E8B16F8.1050808@codemonkey.ws> (raw)
In-Reply-To: <1ecde435c002123860f03fa720f20ff9225fab1b.1316782367.git.quintela@redhat.com>

On 09/23/2011 07:56 AM, Juan Quintela wrote:
> Signed-off-by: Juan Quintela<quintela@redhat.com>
> ---
>   migration-exec.c |   16 +---------------
>   migration-fd.c   |   16 +---------------
>   migration-tcp.c  |   15 +--------------
>   migration-unix.c |   15 +--------------
>   migration.c      |   29 +++++++++++++++++++++++++----
>   migration.h      |   11 +++--------
>   6 files changed, 32 insertions(+), 70 deletions(-)
>
> diff --git a/migration-exec.c b/migration-exec.c
> index 0ed5976..db11374 100644
> --- a/migration-exec.c
> +++ b/migration-exec.c
> @@ -71,7 +71,7 @@ MigrationState *exec_start_outgoing_migration(Monitor *mon,
>       MigrationState *s;
>       FILE *f;
>
> -    s = g_malloc0(sizeof(*s));
> +    s = migrate_create_state(mon, bandwidth_limit, detach, blk, inc);
>
>       f = popen(command, "w");
>       if (f == NULL) {
> @@ -92,20 +92,6 @@ MigrationState *exec_start_outgoing_migration(Monitor *mon,
>       s->close = exec_close;
>       s->get_error = file_errno;
>       s->write = file_write;
> -    s->cancel = migrate_fd_cancel;
> -    s->get_status = migrate_fd_get_status;
> -    s->release = migrate_fd_release;
> -
> -    s->blk = blk;
> -    s->shared = inc;
> -
> -    s->state = MIG_STATE_ACTIVE;
> -    s->mon = NULL;
> -    s->bandwidth_limit = bandwidth_limit;
> -
> -    if (!detach) {
> -        migrate_fd_monitor_suspend(s, mon);
> -    }
>
>       migrate_fd_connect(s);
>       return s;
> diff --git a/migration-fd.c b/migration-fd.c
> index e78fd4e..2235a2f 100644
> --- a/migration-fd.c
> +++ b/migration-fd.c
> @@ -59,7 +59,7 @@ MigrationState *fd_start_outgoing_migration(Monitor *mon,
>   {
>       MigrationState *s;
>
> -    s = g_malloc0(sizeof(*s));
> +    s = migrate_create_state(mon, bandwidth_limit, detach, blk, inc);
>
>       s->fd = monitor_get_fd(mon, fdname);
>       if (s->fd == -1) {
> @@ -75,20 +75,6 @@ MigrationState *fd_start_outgoing_migration(Monitor *mon,
>       s->get_error = fd_errno;
>       s->write = fd_write;
>       s->close = fd_close;
> -    s->cancel = migrate_fd_cancel;
> -    s->get_status = migrate_fd_get_status;
> -    s->release = migrate_fd_release;
> -
> -    s->blk = blk;
> -    s->shared = inc;
> -
> -    s->state = MIG_STATE_ACTIVE;
> -    s->mon = NULL;
> -    s->bandwidth_limit = bandwidth_limit;
> -
> -    if (!detach) {
> -        migrate_fd_monitor_suspend(s, mon);
> -    }
>
>       migrate_fd_connect(s);
>       return s;
> diff --git a/migration-tcp.c b/migration-tcp.c
> index d6feb23..db8cea2 100644
> --- a/migration-tcp.c
> +++ b/migration-tcp.c
> @@ -89,21 +89,12 @@ MigrationState *tcp_start_outgoing_migration(Monitor *mon,
>       if (parse_host_port(&addr, host_port)<  0)
>           return NULL;
>
> -    s = g_malloc0(sizeof(*s));
> +    s = migrate_create_state(mon, bandwidth_limit, detach, blk, inc);
>
>       s->get_error = socket_errno;
>       s->write = socket_write;
>       s->close = tcp_close;
> -    s->cancel = migrate_fd_cancel;
> -    s->get_status = migrate_fd_get_status;
> -    s->release = migrate_fd_release;
>
> -    s->blk = blk;
> -    s->shared = inc;
> -
> -    s->state = MIG_STATE_ACTIVE;
> -    s->mon = NULL;
> -    s->bandwidth_limit = bandwidth_limit;
>       s->fd = qemu_socket(PF_INET, SOCK_STREAM, 0);
>       if (s->fd == -1) {
>           g_free(s);
> @@ -112,10 +103,6 @@ MigrationState *tcp_start_outgoing_migration(Monitor *mon,
>
>       socket_set_nonblock(s->fd);
>
> -    if (!detach) {
> -        migrate_fd_monitor_suspend(s, mon);
> -    }
> -
>       do {
>           ret = connect(s->fd, (struct sockaddr *)&addr, sizeof(addr));
>           if (ret == -1)
> diff --git a/migration-unix.c b/migration-unix.c
> index 3b9017b..74c6dde 100644
> --- a/migration-unix.c
> +++ b/migration-unix.c
> @@ -88,21 +88,12 @@ MigrationState *unix_start_outgoing_migration(Monitor *mon,
>       addr.sun_family = AF_UNIX;
>       snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", path);
>
> -    s = g_malloc0(sizeof(*s));
> +    s = migrate_create_state(mon, bandwidth_limit, detach, blk, inc);
>
>       s->get_error = unix_errno;
>       s->write = unix_write;
>       s->close = unix_close;
> -    s->cancel = migrate_fd_cancel;
> -    s->get_status = migrate_fd_get_status;
> -    s->release = migrate_fd_release;
>
> -    s->blk = blk;
> -    s->shared = inc;
> -
> -    s->state = MIG_STATE_ACTIVE;
> -    s->mon = NULL;
> -    s->bandwidth_limit = bandwidth_limit;
>       s->fd = qemu_socket(PF_UNIX, SOCK_STREAM, 0);
>       if (s->fd<  0) {
>           DPRINTF("Unable to open socket");
> @@ -125,10 +116,6 @@ MigrationState *unix_start_outgoing_migration(Monitor *mon,
>           goto err_after_open;
>       }
>
> -    if (!detach) {
> -        migrate_fd_monitor_suspend(s, mon);
> -    }
> -
>       if (ret>= 0)
>           migrate_fd_connect(s);
>
> diff --git a/migration.c b/migration.c
> index b27a322..990667e 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -263,7 +263,7 @@ void do_info_migrate(Monitor *mon, QObject **ret_data)
>
>   /* shared migration helpers */
>
> -void migrate_fd_monitor_suspend(MigrationState *s, Monitor *mon)
> +static void migrate_fd_monitor_suspend(MigrationState *s, Monitor *mon)
>   {
>       s->mon = mon;
>       if (monitor_suspend(mon) == 0) {
> @@ -404,12 +404,12 @@ void migrate_fd_put_ready(void *opaque)
>       }
>   }
>
> -int migrate_fd_get_status(MigrationState *s)
> +static int migrate_fd_get_status(MigrationState *s)
>   {
>       return s->state;
>   }
>
> -void migrate_fd_cancel(MigrationState *s)
> +static void migrate_fd_cancel(MigrationState *s)
>   {
>       if (s->state != MIG_STATE_ACTIVE)
>           return;
> @@ -423,7 +423,7 @@ void migrate_fd_cancel(MigrationState *s)
>       migrate_fd_cleanup(s);
>   }
>
> -void migrate_fd_release(MigrationState *s)
> +static void migrate_fd_release(MigrationState *s)
>   {
>
>       DPRINTF("releasing state\n");
> @@ -488,3 +488,24 @@ int get_migration_state(void)
>           return MIG_STATE_ERROR;
>       }
>   }
> +
> +MigrationState *migrate_create_state(Monitor *mon, int64_t bandwidth_limit,
> +                                     int detach, int blk, int inc)


I think this would fit better if it were migrate_new() or migrate_open().

It definitely should be in the form noun_verb and not noun_verb_noun().

Regards,

Anthony Liguori

> +{
> +    MigrationState *s = g_malloc0(sizeof(*s));
> +
> +    s->cancel = migrate_fd_cancel;
> +    s->get_status = migrate_fd_get_status;
> +    s->release = migrate_fd_release;
> +    s->blk = blk;
> +    s->shared = inc;
> +    s->mon = NULL;
> +    s->bandwidth_limit = bandwidth_limit;
> +    s->state = MIG_STATE_ACTIVE;
> +
> +    if (!detach) {
> +        migrate_fd_monitor_suspend(s, mon);
> +    }
> +
> +    return s;
> +}
> diff --git a/migration.h b/migration.h
> index e24efed..32462f7 100644
> --- a/migration.h
> +++ b/migration.h
> @@ -98,8 +98,6 @@ MigrationState *fd_start_outgoing_migration(Monitor *mon,
>   					    int blk,
>   					    int inc);
>
> -void migrate_fd_monitor_suspend(MigrationState *s, Monitor *mon);
> -
>   void migrate_fd_error(MigrationState *s);
>
>   int migrate_fd_cleanup(MigrationState *s);
> @@ -112,16 +110,13 @@ void migrate_fd_connect(MigrationState *s);
>
>   void migrate_fd_put_ready(void *opaque);
>
> -int migrate_fd_get_status(MigrationState *mig_state);
> -
> -void migrate_fd_cancel(MigrationState *mig_state);
> -
> -void migrate_fd_release(MigrationState *mig_state);
> -
>   void migrate_fd_wait_for_unfreeze(void *opaque);
>
>   int migrate_fd_close(void *opaque);
>
> +MigrationState *migrate_create_state(Monitor *mon, int64_t bandwidth_limit,
> +                                     int detach, int blk, int inc);
> +
>   void add_migration_state_change_notifier(Notifier *notify);
>   void remove_migration_state_change_notifier(Notifier *notify);
>   int get_migration_state(void);

  reply	other threads:[~2011-10-04 14:24 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-23 12:56 [Qemu-devel] [PATCH v3 00/23] Refactor and cleanup migration code Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 01/23] migration: Make *start_outgoing_migration return FdMigrationState Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 02/23] migration: Use FdMigrationState instead of MigrationState when possible Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 03/23] migration: Fold MigrationState into FdMigrationState Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 04/23] migration: Rename FdMigrationState MigrationState Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 05/23] migration: Refactor MigrationState creation Juan Quintela
2011-10-04 14:23   ` Anthony Liguori [this message]
2011-10-04 14:44     ` Juan Quintela
2011-10-04 14:55       ` Anthony Liguori
2011-09-23 12:56 ` [Qemu-devel] [PATCH 06/23] migration: Make all posible migration functions static Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 07/23] migration: move migrate_create_state to do_migrate Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 08/23] migration: Introduce MIG_STATE_NONE Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 09/23] migration: Refactor and simplify error checking in migrate_fd_put_ready Juan Quintela
2011-09-23 12:56 ` [Qemu-devel] [PATCH 10/23] migration: Introduce migrate_fd_completed() for consistency Juan Quintela
2011-09-23 12:57 ` [Qemu-devel] [PATCH 11/23] migration: Our release callback was just free Juan Quintela
2011-09-23 12:57 ` [Qemu-devel] [PATCH 12/23] migration: Remove get_status() accessor Juan Quintela
2011-09-23 12:57 ` [Qemu-devel] [PATCH 13/23] migration: Remove migration cancel() callback Juan Quintela
2011-09-23 12:57 ` [Qemu-devel] [PATCH 14/23] migration: Move exported functions to the end of the file Juan Quintela
2011-10-04 14:24   ` Anthony Liguori
2011-09-23 12:57 ` [Qemu-devel] [PATCH 15/23] migration: use global variable directly Juan Quintela
2011-10-04 14:27   ` Anthony Liguori
2011-10-04 14:46     ` Juan Quintela
2011-09-23 12:57 ` [Qemu-devel] [PATCH 16/23] migration: another case of global variable assigned to local one Juan Quintela
2011-09-23 12:57 ` [Qemu-devel] [PATCH 17/23] migration: make sure we always have a migration state Juan Quintela
2011-10-04 14:29   ` Anthony Liguori
2011-10-04 14:49     ` Juan Quintela
2011-10-05 20:02       ` Anthony Liguori
2011-10-05 20:25         ` Juan Quintela
2011-10-06  9:09           ` Orit Wasserman
2011-09-23 12:57 ` [Qemu-devel] [PATCH 18/23] migration: Use bandwidth_limit directly Juan Quintela
2011-10-04 14:29   ` Anthony Liguori
2011-09-23 12:57 ` [Qemu-devel] [PATCH 19/23] migration: Export a function that tells if the migration has finished correctly Juan Quintela
2011-10-04 14:31   ` Anthony Liguori
2011-10-05 12:24     ` Juan Quintela
2011-10-05 14:58       ` Anthony Liguori
2011-09-23 12:57 ` [Qemu-devel] [PATCH 20/23] migration: Make state definitions local Juan Quintela
2011-09-23 12:57 ` [Qemu-devel] [PATCH 21/23] migration: Don't use callback on file defining it Juan Quintela
2011-10-04 14:32   ` Anthony Liguori
2011-10-04 23:50     ` Juan Quintela
2011-09-23 12:57 ` [Qemu-devel] [PATCH 22/23] migration: propagate error correctly Juan Quintela
2011-10-04 14:33   ` Anthony Liguori
2011-09-23 12:57 ` [Qemu-devel] [PATCH 23/23] migration: make migration-{tcp, unix} consistent Juan Quintela
2011-10-04 14:34   ` Anthony Liguori
2011-10-04 14:36 ` [Qemu-devel] [PATCH v3 00/23] Refactor and cleanup migration code Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2011-09-20 14:19 Juan Quintela
2011-09-20 14:19 ` [Qemu-devel] [PATCH 05/23] migration: Refactor MigrationState creation Juan Quintela

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E8B16F8.1050808@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.