Message ID | 1610505995-144129-5-git-send-email-lei.rao@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fixed some bugs and optimized some codes for COLO | expand |
On Wed, 13 Jan 2021 10:46:29 +0800 leirao <lei.rao@intel.com> wrote: > From: "Rao, Lei" <lei.rao@intel.com> > > We can detect disk migration in migrate_prepare, if disk migration > is enabled in COLO mode, we can directly report an error.and there > is no need to disable block migration at every checkpoint. > > Signed-off-by: Lei Rao <lei.rao@intel.com> > Signed-off-by: Zhang Chen <chen.zhang@intel.com> Looks good to me, Reviewed-by: Lukas Straub <lukasstraub2@web.de> > --- > migration/colo.c | 6 ------ > migration/migration.c | 4 ++++ > 2 files changed, 4 insertions(+), 6 deletions(-) > > diff --git a/migration/colo.c b/migration/colo.c > index de27662..1aaf316 100644 > --- a/migration/colo.c > +++ b/migration/colo.c > @@ -435,12 +435,6 @@ static int colo_do_checkpoint_transaction(MigrationState *s, > if (failover_get_state() != FAILOVER_STATUS_NONE) { > goto out; > } > - > - /* Disable block migration */ > - migrate_set_block_enabled(false, &local_err); > - if (local_err) { > - goto out; > - } > qemu_mutex_lock_iothread(); > > #ifdef CONFIG_REPLICATION > diff --git a/migration/migration.c b/migration/migration.c > index a5da718..31417ce 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -2107,6 +2107,10 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc, > } > > if (blk || blk_inc) { > + if (migrate_colo_enabled()) { > + error_setg(errp, "No disk migration is required in COLO mode"); > + return false; > + } > if (migrate_use_block() || migrate_use_block_incremental()) { > error_setg(errp, "Command options are incompatible with " > "current migration capabilities"); --
diff --git a/migration/colo.c b/migration/colo.c index de27662..1aaf316 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -435,12 +435,6 @@ static int colo_do_checkpoint_transaction(MigrationState *s, if (failover_get_state() != FAILOVER_STATUS_NONE) { goto out; } - - /* Disable block migration */ - migrate_set_block_enabled(false, &local_err); - if (local_err) { - goto out; - } qemu_mutex_lock_iothread(); #ifdef CONFIG_REPLICATION diff --git a/migration/migration.c b/migration/migration.c index a5da718..31417ce 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2107,6 +2107,10 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc, } if (blk || blk_inc) { + if (migrate_colo_enabled()) { + error_setg(errp, "No disk migration is required in COLO mode"); + return false; + } if (migrate_use_block() || migrate_use_block_incremental()) { error_setg(errp, "Command options are incompatible with " "current migration capabilities");