All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 10/19] migration: Remove use of old MigrationParams
Date: Tue, 18 Apr 2017 20:07:50 +0100	[thread overview]
Message-ID: <20170418190747.GP2205@work-vm> (raw)
In-Reply-To: <20170417200041.2451-11-quintela@redhat.com>

* Juan Quintela (quintela@redhat.com) wrote:
> We have change in the previous patch to use migration capabilities for
> it.  Notice that we continue using the old command line flags from
> migrate command from the time being.  Remove the set_params method as
> now it is empty.
> 
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
>  include/migration/migration.h |  2 --
>  migration/block.c             | 17 ++---------------
>  migration/colo.c              |  3 ---
>  migration/migration.c         |  8 +++++---
>  migration/savevm.c            |  2 --
>  5 files changed, 7 insertions(+), 25 deletions(-)
> 
> diff --git a/include/migration/migration.h b/include/migration/migration.h
> index 5c78ae1..09d3188 100644
> --- a/include/migration/migration.h
> +++ b/include/migration/migration.h
> @@ -41,8 +41,6 @@
>  extern int only_migratable;
>  
>  struct MigrationParams {
> -    bool blk;
> -    bool shared;
>  };

I'm not sure that's portable C - some suggests that empty struct's
are a GNU addition.
I suggest either leaving them here, or merging this with the next
patch.

Dave

>  /* Messages sent on the return path from destination to source */
> diff --git a/migration/block.c b/migration/block.c
> index 7734ff7..9490343 100644
> --- a/migration/block.c
> +++ b/migration/block.c
> @@ -94,9 +94,6 @@ typedef struct BlkMigBlock {
>  } BlkMigBlock;
>  
>  typedef struct BlkMigState {
> -    /* Written during setup phase.  Can be read without a lock.  */
> -    int blk_enable;
> -    int shared_base;
>      QSIMPLEQ_HEAD(bmds_list, BlkMigDevState) bmds_list;
>      int64_t total_sector_sum;
>      bool zero_blocks;
> @@ -425,7 +422,7 @@ static int init_blk_migration(QEMUFile *f)
>          bmds->bulk_completed = 0;
>          bmds->total_sectors = sectors;
>          bmds->completed_sectors = 0;
> -        bmds->shared_base = block_mig_state.shared_base;
> +        bmds->shared_base = migrate_use_block_shared();
>  
>          assert(i < num_bs);
>          bmds_bs[i].bmds = bmds;
> @@ -963,22 +960,12 @@ static int block_load(QEMUFile *f, void *opaque, int version_id)
>      return 0;
>  }
>  
> -static void block_set_params(const MigrationParams *params, void *opaque)
> -{
> -    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 |= params->shared;
> -}
> -
>  static bool block_is_active(void *opaque)
>  {
> -    return block_mig_state.blk_enable == 1;
> +    return migrate_use_block_enabled();
>  }
>  
>  static SaveVMHandlers savevm_block_handlers = {
> -    .set_params = block_set_params,
>      .save_live_setup = block_save_setup,
>      .save_live_iterate = block_save_iterate,
>      .save_live_complete_precopy = block_save_complete,
> diff --git a/migration/colo.c b/migration/colo.c
> index eec1959..4c2365e 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -333,9 +333,6 @@ static int colo_do_checkpoint_transaction(MigrationState *s,
>          goto out;
>      }
>  
> -    /* Disable block migration */
> -    s->params.blk = 0;
> -    s->params.shared = 0;
>      qemu_savevm_state_header(fb);
>      qemu_savevm_state_begin(fb, &s->params);
>      qemu_mutex_lock_iothread();
> diff --git a/migration/migration.c b/migration/migration.c
> index 2f10657..39b4a41 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -743,6 +743,10 @@ void qmp_migrate_set_capabilities(MigrationCapabilityStatusList *params,
>          s->enabled_capabilities[cap->value->capability] = cap->value->state;
>      }
>  
> +    if (s->enabled_capabilities[MIGRATION_CAPABILITY_BLOCK_SHARED]) {
> +        s->enabled_capabilities[MIGRATION_CAPABILITY_BLOCK_ENABLED] = true;
> +    }
> +
>      if (migrate_postcopy_ram()) {
>          if (migrate_use_compression()) {
>              /* The decompression threads asynchronously write into RAM
> @@ -1170,9 +1174,6 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>      MigrationParams params;
>      const char *p;
>  
> -    params.blk = has_blk && blk;
> -    params.shared = has_inc && inc;
> -
>      if (migration_is_setup_or_active(s->state) ||
>          s->state == MIGRATION_STATUS_CANCELLING ||
>          s->state == MIGRATION_STATUS_COLO) {
> @@ -1195,6 +1196,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>      }
>  
>      if (has_inc && inc) {
> +        migrate_set_block_enabled(s);
>          migrate_set_block_shared(s);
>      }
>  
> diff --git a/migration/savevm.c b/migration/savevm.c
> index c47b209..c4435e1 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -1237,8 +1237,6 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp)
>  {
>      int ret;
>      MigrationParams params = {
> -        .blk = 0,
> -        .shared = 0
>      };
>      MigrationState *ms = migrate_init(&params);
>      MigrationStatus status;
> -- 
> 2.9.3
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2017-04-18 19:08 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-17 20:00 [Qemu-devel] [PATCH 00/19] Migration cleanup Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 01/19] migration: to_dst_file at that point is NULL Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 02/19] migration: They are called vmstate_foo, move them to vmstate.c Juan Quintela
2017-04-18 18:40   ` Dr. David Alan Gilbert
2017-04-19  7:02     ` Juan Quintela
2017-04-25  9:00     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 03/19] migration: Split migration/channel.c for channel operations Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 04/19] migration: Remove MigrationState from migration_channel_incomming() Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 05/19] migration: Export exec.c functions in its own file Juan Quintela
2017-04-18  9:45   ` Paolo Bonzini
2017-04-18 10:13     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 06/19] migration: Export fd.c " Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 07/19] migration: Export socket.c " Juan Quintela
2017-04-19 15:37   ` Dr. David Alan Gilbert
2017-04-25  9:01     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 08/19] migration: Export tls.c " Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 09/19] migration: Create block capabilities for shared and enable Juan Quintela
2017-04-17 20:26   ` Eric Blake
2017-04-18  6:35     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 10/19] migration: Remove use of old MigrationParams Juan Quintela
2017-04-18 19:07   ` Dr. David Alan Gilbert [this message]
2017-04-19  7:17     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 11/19] migration: Remove " Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 12/19] migration: Remove unneeded includes Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 13/19] migration: Remove qemu-file.h from vmstate.h Juan Quintela
2017-04-19 15:44   ` Dr. David Alan Gilbert
2017-04-17 20:00 ` [Qemu-devel] [PATCH 14/19] migration: Remove vmstate.h from migration.h Juan Quintela
2017-04-19 17:16   ` Dr. David Alan Gilbert
2017-04-17 20:00 ` [Qemu-devel] [PATCH 15/19] migration: Export qemu-file-channel.c functions in its own file Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 16/19] migration: Export ram.c " Juan Quintela
2017-04-19 18:46   ` Dr. David Alan Gilbert
2017-04-25  9:39     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 17/19] migration: Export rdma.c " Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 18/19] monitor: move hmp_savevm() to monitor.c Juan Quintela
2017-04-18  9:44   ` Paolo Bonzini
2017-04-18 10:11     ` Juan Quintela
2017-04-17 20:00 ` [Qemu-devel] [PATCH 19/19] monitor: remove monitor parameter from save_vmstate Juan Quintela
2017-04-18  9:44   ` Paolo Bonzini
2017-04-18  9:46     ` Paolo Bonzini
2017-04-18 10:12       ` Juan Quintela
2017-04-19  7:19       ` Juan Quintela
2017-04-18 18:02   ` Dr. David Alan Gilbert
2017-04-18 20:06     ` 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=20170418190747.GP2205@work-vm \
    --to=dgilbert@redhat.com \
    --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.