> -----Original Message-----
> From: Rao, Lei <lei....@intel.com>
> Sent: Thursday, April 1, 2021 3:47 PM
> To: Zhang, Chen <chen.zh...@intel.com>; lizhij...@cn.fujitsu.com;
> jasow...@redhat.com; quint...@redhat.com; dgilb...@redhat.com;
> pbonz...@redhat.com; lukasstra...@web.de
> Cc: qemu-devel@nongnu.org; Rao, Lei <lei....@intel.com>
> Subject: [PATCH v5 04/10] Remove migrate_set_block_enabled in
> checkpoint
>
> From: "Rao, Lei" <lei....@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....@intel.com>
> Signed-off-by: Zhang Chen <chen.zh...@intel.com>
> Reviewed-by: Li Zhijian <lizhij...@fujitsu.com>
Reviewed-by: Zhang Chen <chen.zh...@intel.com>
> ---
> 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
> ca8b97b..4578f22 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -2219,6 +2219,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");
> --
> 1.8.3.1