[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC v3 02/27] migration: Introduce capability 'c
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH RFC v3 02/27] migration: Introduce capability 'colo' to migration |
Date: |
Mon, 16 Feb 2015 14:57:36 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
On 02/11/2015 08:16 PM, zhanghailiang wrote:
> This capability allows Primary VM (PVM) to be continuously checkpointed
> to secondary VM.
>
> Signed-off-by: zhanghailiang <address@hidden>
> Signed-off-by: Yang Hongyang <address@hidden>
> Signed-off-by: Gonglei <address@hidden>
> Signed-off-by: Lai Jiangshan <address@hidden>
> ---
> include/migration/migration.h | 1 +
> migration/migration.c | 15 +++++++++++++++
> qapi-schema.json | 5 ++++-
> 3 files changed, 20 insertions(+), 1 deletion(-)
>
> +++ b/migration/migration.c
> @@ -276,6 +276,15 @@ void
> qmp_migrate_set_capabilities(MigrationCapabilityStatusList *params,
> }
>
> for (cap = params; cap; cap = cap->next) {
> +#ifndef CONFIG_COLO
> + if (cap->value->capability == MIGRATION_CAPABILITY_COLO &&
> + cap->value->state) {
> + error_setg(errp, "COLO is not currently supported, please"
> + " configure with --enable-colo option in order
> to"
> + " support COLO feature");
> + continue;
> + }
> +#endif
> s->enabled_capabilities[cap->value->capability] = cap->value->state;
> }
Yuck. This means that probing whether colo is supported requires a
usage test (try setting the capability with migrate-set-capabilities and
see if it fails) instead of a query test (list the current capabilities;
if colo is in the set then it is supported). Can you figure out a way
to avoid exposing the colo capability if !CONFIG_COLO, so that
query-migate-capabilities is sufficient to learn if colo is supported?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH RFC v3 00/27] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service, zhanghailiang, 2015/02/11
- [Qemu-devel] [PATCH RFC v3 01/27] configure: Add parameter for configure to enable/disable COLO support, zhanghailiang, 2015/02/11
- [Qemu-devel] [PATCH RFC v3 02/27] migration: Introduce capability 'colo' to migration, zhanghailiang, 2015/02/11
- Re: [Qemu-devel] [PATCH RFC v3 02/27] migration: Introduce capability 'colo' to migration,
Eric Blake <=
- [Qemu-devel] [PATCH RFC v3 08/27] COLO: Add a new RunState RUN_STATE_COLO, zhanghailiang, 2015/02/11
- [Qemu-devel] [PATCH RFC v3 07/27] COLO: Implement colo checkpoint protocol, zhanghailiang, 2015/02/11
- [Qemu-devel] [PATCH RFC v3 04/27] migration: Integrate COLO checkpoint process into migration, zhanghailiang, 2015/02/11
- [Qemu-devel] [PATCH RFC v3 09/27] QEMUSizedBuffer: Introduce two help functions for qsb, zhanghailiang, 2015/02/11
- [Qemu-devel] [PATCH RFC v3 12/27] COLO VMstate: Load VM state into qsb before restore it, zhanghailiang, 2015/02/11
- [Qemu-devel] [PATCH RFC v3 10/27] COLO: Save VM state to slave when do checkpoint, zhanghailiang, 2015/02/11
- [Qemu-devel] [PATCH RFC v3 13/27] COLO RAM: Flush cached RAM into SVM's memory, zhanghailiang, 2015/02/11