[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 10/10] migration: block incoming colo when capability is disabled
From: |
Juan Quintela |
Subject: |
[PULL 10/10] migration: block incoming colo when capability is disabled |
Date: |
Tue, 9 May 2023 21:17:24 +0200 |
From: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
We generally require same set of capabilities on source and target.
Let's require x-colo capability to use COLO on target.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Message-Id: <20230428194928.1426370-11-vsementsov@yandex-team.ru>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
docs/COLO-FT.txt | 1 +
migration/migration.c | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/docs/COLO-FT.txt b/docs/COLO-FT.txt
index 8ec653f81c..2e760a4aee 100644
--- a/docs/COLO-FT.txt
+++ b/docs/COLO-FT.txt
@@ -210,6 +210,7 @@ children.0=childs0 \
3. On Secondary VM's QEMU monitor, issue command
{"execute":"qmp_capabilities"}
+{"execute": "migrate-set-capabilities", "arguments": {"capabilities": [
{"capability": "x-colo", "state": true } ] } }
{"execute": "nbd-server-start", "arguments": {"addr": {"type": "inet", "data":
{"host": "0.0.0.0", "port": "9999"} } } }
{"execute": "nbd-server-add", "arguments": {"device": "parent0", "writable":
true } }
diff --git a/migration/migration.c b/migration/migration.c
index 4959f7ee44..7558c8edbd 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -398,6 +398,12 @@ int migration_incoming_enable_colo(void)
return -ENOTSUP;
#endif
+ if (!migrate_colo()) {
+ error_report("ENABLE_COLO command come in migration stream, but c-colo
"
+ "capability is not set");
+ return -EINVAL;
+ }
+
if (ram_block_discard_disable(true)) {
error_report("COLO: cannot disable RAM discard");
return -EBUSY;
--
2.40.0
- [PULL 00/10] Migration 20230509 patches, Juan Quintela, 2023/05/09
- [PULL 01/10] ram: Add public helper to set colo bitmap, Juan Quintela, 2023/05/09
- [PULL 02/10] ram: Let colo_flush_ram_cache take the bitmap_mutex, Juan Quintela, 2023/05/09
- [PULL 03/10] multifd: Add the ramblock to MultiFDRecvParams, Juan Quintela, 2023/05/09
- [PULL 04/10] block/meson.build: prefer positive condition for replication, Juan Quintela, 2023/05/09
- [PULL 05/10] colo: make colo_checkpoint_notify static and provide simpler API, Juan Quintela, 2023/05/09
- [PULL 06/10] build: move COLO under CONFIG_REPLICATION, Juan Quintela, 2023/05/09
- [PULL 07/10] migration: drop colo_incoming_thread from MigrationIncomingState, Juan Quintela, 2023/05/09
- [PULL 09/10] migration: disallow change capabilities in COLO state, Juan Quintela, 2023/05/09
- [PULL 08/10] migration: process_incoming_migration_co: simplify code flow around ret, Juan Quintela, 2023/05/09
- [PULL 10/10] migration: block incoming colo when capability is disabled,
Juan Quintela <=
- Re: [PULL 00/10] Migration 20230509 patches, Richard Henderson, 2023/05/10