[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 for 2.13] migration: Don't activate block dev
From: |
Juan Quintela |
Subject: |
Re: [Qemu-devel] [PATCH v2 for 2.13] migration: Don't activate block devices if using -S |
Date: |
Mon, 30 Apr 2018 16:15:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
"Dr. David Alan Gilbert (git)" <address@hidden> wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
>
> Activating the block devices causes the locks to be taken on
> the backing file. If we're running with -S and the destination libvirt
> hasn't started the destination with 'cont', it's expecting the locks are
> still untaken.
I will try to change the naming, because we have:
- don't activate block device
- and we stop calling bdrv_invalidate_cache_all
i.e. behind the scenes bdrv_invalidate_cache activates a block device,
not bad O:-)
> Don't activate the block devices if we're not going to autostart the VM;
> 'cont' already will do that anyway. This change is tied to the new
> migration capability 'late-block-activate' that defaults to off, keeping
> the old behaviour by default.
I have read the old discussion, and we have:
- current patch (not call bdrv_invalidate_cache() at bottom_handler)
- kevin approach: create two commands
activate_devices/deactivate_devices and make libvirt use them correctly
I am not really sure which one is better, but as the patch author is
Dave ....
> bz: https://bugzilla.redhat.com/show_bug.cgi?id=1560854
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> ---
> migration/migration.c | 34 +++++++++++++++++++++++++++-------
> qapi/migration.json | 6 +++++-
> 2 files changed, 32 insertions(+), 8 deletions(-)
Reviewed-by: Juan Quintela <address@hidden>
> +# @late-block-activate: If enabled, the destination will not activate block
> +# devices (and thus take locks) immediately at the end of
> migration.
> +# (since 2.13)
> +#
> # Since: 1.2
> ##
> { 'enum': 'MigrationCapability',
> 'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks',
> 'compress', 'events', 'postcopy-ram', 'x-colo', 'release-ram',
> 'block', 'return-path', 'pause-before-switchover', 'x-multifd',
> - 'dirty-bitmaps' ] }
> + 'dirty-bitmaps', 'late-block-activate' ] }
>
> ##
> # @MigrationCapabilityStatus:
Just wondering, is there a way to enable a capability for 2.13 and
newer, and not activate it for older versions? I *think* that this
feature should be on in new releases, and off by default with old
machine types. But I haven't through long enough to know what needs to
be changed.
Later, Juan.