qemu-devel
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]