[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v8 1/8] Introduce yank feature
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v8 1/8] Introduce yank feature |
Date: |
Tue, 01 Sep 2020 16:38:46 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
One more question...
Lukas Straub <lukasstraub2@web.de> writes:
> The yank feature allows to recover from hanging qemu by "yanking"
> at various parts. Other qemu systems can register themselves and
> multiple yank functions. Then all yank functions for selected
> instances can be called by the 'yank' out-of-band qmp command.
> Available instances can be queried by a 'query-yank' oob command.
>
> Signed-off-by: Lukas Straub <lukasstraub2@web.de>
> Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
[...]
> diff --git a/qapi/misc.json b/qapi/misc.json
> index 9d32820dc1..7de330416a 100644
> --- a/qapi/misc.json
> +++ b/qapi/misc.json
> @@ -1615,3 +1615,65 @@
> ##
> { 'command': 'query-vm-generation-id', 'returns': 'GuidInfo' }
>
> +##
> +# @YankInstances:
> +#
> +# @instances: List of yank instances.
> +#
> +# A yank instance can be yanked with the "yank" qmp command to recover from a
> +# hanging qemu.
> +#
> +# Yank instances are named after the following schema:
> +# "blockdev:<node-name>" refers to a block device. Currently only nbd block
> +# devices are implemented.
> +# "chardev:<chardev-name>" refers to a chardev. Currently only socket
> chardevs
> +# are implemented.
> +# "migration" refers to the migration currently in progress.
> +#
> +# Currently implemented yank instances:
> +# -nbd block device:
> +# Yanking it will shutdown the connection to the nbd server without
> +# attempting to reconnect.
> +# -socket chardev:
> +# Yanking it will shutdown the connected socket.
> +# -migration:
> +# Yanking it will shutdown all migration connections.
How is yanking migration related to command migrate_cancel?
> +#
> +# Since: 5.2
> +##
> +{ 'struct': 'YankInstances', 'data': {'instances': ['str'] } }
> +
> +##
> +# @yank:
> +#
> +# Recover from hanging qemu by yanking the specified instances. See
> +# "YankInstances" for more information.
> +#
> +# Takes @YankInstances as argument.
> +#
> +# Returns: nothing.
> +#
> +# Example:
> +#
> +# -> { "execute": "yank", "arguments": { "instances": ["blockdev:nbd0"] } }
> +# <- { "return": {} }
> +#
> +# Since: 5.2
> +##
> +{ 'command': 'yank', 'data': 'YankInstances', 'allow-oob': true }
> +
> +##
> +# @query-yank:
> +#
> +# Query yank instances. See "YankInstances" for more information.
> +#
> +# Returns: @YankInstances
> +#
> +# Example:
> +#
> +# -> { "execute": "query-yank" }
> +# <- { "return": { "instances": ["blockdev:nbd0"] } }
> +#
> +# Since: 5.2
> +##
> +{ 'command': 'query-yank', 'returns': 'YankInstances', 'allow-oob': true }
[...]
- [PATCH v8 0/8] Introduce 'yank' oob qmp command to recover from hanging qemu, Lukas Straub, 2020/09/01
- [PATCH v8 2/8] block/nbd.c: Add yank feature, Lukas Straub, 2020/09/01
- [PATCH v8 3/8] chardev/char-socket.c: Add yank feature, Lukas Straub, 2020/09/01
- [PATCH v8 4/8] migration: Add yank feature, Lukas Straub, 2020/09/01
- [PATCH v8 6/8] io: Document qmp oob suitability of qio_channel_shutdown and io_shutdown, Lukas Straub, 2020/09/01
- [PATCH v8 5/8] io/channel-tls.c: make qio_channel_tls_shutdown thread-safe, Lukas Straub, 2020/09/01
- [PATCH v8 7/8] MAINTAINERS: Add myself as maintainer for yank feature, Lukas Straub, 2020/09/01