On Wed, Jan 22, 2025 at 12:50:37PM +0100, Kevin Wolf wrote: > This series adds a mechanism that allows the user or management tool to > manually activate and inactivate block nodes instead of fully relying on > the automatic management in the migration code. > > One case where this is needed is for migration with shared storage and > devices backed by qemu-storage-daemon, which as an external process is > not involved in the VM migration. Management tools can manually > orchestrate the handover in this scenario. The new qemu-iotests case > qsd-migrate demonstrates this. > > There are other cases without qemu-storage-daemon where manual > management is necessary. For example, after migration, the destination > VM only activates images on 'cont', but after migrating a paused VM, the > user may want to perform operations on a block node while the VM is > still paused. > > This series adds support for block exports on an inactive node (needed > for shared storage migration with qemu-storage-daemon) only to NBD. > Adding it to other export types will be done in a future series. > > Kevin Wolf (9): > block: Allow inactivating already inactive nodes > block: Add option to create inactive nodes > block: Support inactive nodes in blk_insert_bs() > block/export: Don't ignore image activation error in blk_exp_add() > block/export: Add option to allow export of inactive nodes > nbd/server: Support inactive nodes > block: Add blockdev-set-active QMP command > iotests: Add filter_qtest() > iotests: Add qsd-migrate case
I started reviewing this, but see v2 now, so I'll resume my review there. -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org