qemu-devel.nongnu.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).