Daniel P. Berrangé <[email protected]> writes: > On Tue, Sep 01, 2020 at 04:38:46PM +0200, Markus Armbruster wrote: >> One more question... >> >> Lukas Straub <[email protected]> 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 <[email protected]> >> > Acked-by: Stefan Hajnoczi <[email protected]> >> [...] >> > 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? > > migrate_cancel will do a shutdown() on the primary migration socket only. > In addition it will toggle the migration state. > > Yanking will do a shutdown on all migration sockets (important for > multifd), but won't touch migration state or any other aspect of QEMU > code. > > Overall yanking has less potential for things to go wrong than the > migrate_cancel method, as it doesn't try to do any kind of cleanup > or migration.
Thanks. Would it make sense to work this into the documentation?
