On 12/1/20 2:43 PM, Eric Blake wrote: > On 11/15/20 5:36 AM, Lukas Straub wrote: >> The yank feature allows to recover from hanging qemu by "yanking" > > "allows to $verb" is not idiomatic English, better is "allows $subject > to verb" or "allows ${verb}ing". In this case, I suggest "The yank > feature allows the recovery of a hung qemu by "yanking" at various parts". > >> 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 <lukasstra...@web.de> >> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> >> Reviewed-by: Markus Armbruster <arm...@redhat.com> >> --- > >> +# @YankInstanceType: >> +# >> +# An enumeration of yank instance types. See @YankInstance for more >> +# information. >> +# >> +# Since: 6.0 >> +## >> +{ 'enum': 'YankInstanceType', >> + 'data': [ 'block-node', 'chardev', 'migration' ] } >> + > >> +## >> +# @YankInstance: >> +# >> +# A yank instance can be yanked with the @yank qmp command to recover from a >> +# hanging QEMU. >> +# >> +# Currently implemented yank instances: >> +# - nbd block device: >> +# Yanking it will shut down the connection to the nbd server without >> +# attempting to reconnect. > > Mismatch in documentation; I presume it gets cleaned up later in the > series, in which case I can live with this patch as-is.
Oh, I see. 'block-node' refers to a block node being served over NBD. So if you have multiple NBD devices, you choose which one or more nodes are yanked, rather than blindly yanking all of them at once. I just found it odd that we mention 'nbd' here but not in the enum; on the other hand, we may have more than just NBD networked devices where other types of network-enabled block nodes (ceph, sheepdog, gluster...) might also add yank support. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org