On 3/12/21 1:02 PM, leirao wrote:

From: "Rao, Lei" <lei....@intel.com><mailto: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><mailto:lei....@intel.com>

Signed-off-by: Zhang Chen <chen.zh...@intel.com><mailto:chen.zh...@intel.com>
Reviewed-by: Li Zhijian <lizhij...@fujitsu.com><mailto:lizhij...@fujitsu.com>





---

 migration/colo.c      | 6 ------

 migration/migration.c | 4 ++++

 2 files changed, 4 insertions(+), 6 deletions(-)

DA_

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 a5ddf43..785a331 100644

--- a/migration/migration.c

+++ b/migration/migration.c

@@ -2221,6 +2221,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");

Reply via email to