On a Friday in 2023, Peter Krempa wrote:
This series prepares the setup of the block device backend for
removal
of the raw driver from the block graph, and actually removes it from the
migration NBD connection.
Unfortunately for normal usage it's not yet possible as qemu then
records the protocol driver name in the backing file format field which
would break with older versions of libvirt (see my other series).
Peter Krempa (17):
qemu: block: Introduce qemuBlockStorageSourceGetSliceNodename
qemu: block: Use qemuBlockStorageSourceNeedsStorageSliceLayer only for
setup
qemu: block: Introduce helper for deciding when a 'format' layer is
needed
qemuBlockStorageSourceGetBlockdevStorageSliceProps: Allow turning the
slice layer into effective blockdev layer
qemuBlockStorageSourceAttachPrepareBlockdev: Prepare for optionally
missing format layer
qemuBlockStorageSourceDetachPrepare: Prepare for possibly missing
'format' layer
qemuDomainPrepareStorageSourceBlockdevNodename: Restructure code to
allow missing 'format' layer
qemuBlockStorageSourceGetEffectiveNodename: Prepare for missing
'format' driver
qemu: block: Extract logic from qemuBlockReopenReadWrite/ReadOnly
qemu: block: Absorb logic from qemuBlockReopenFormat to
qemuBlockReopenAccess
qemu: monitor: Sanitize arguments of qemuMonitorBlockdevReopen
testQemuMonitorJSONBlockdevReopen: Don't use qemuBlockReopenFormatMon
qemu: block: Absorb qemuBlockReopenFormatMon into
qemuBlockReopenAccess
qemuBlockReopenAccess: prepare for removal of 'raw' format layer
qemuMigrationSrcNBDCopyCancel: Use
qemuBlockStorageSourceAttachRollback to detach migration NBD
blockdevs
qemu: block: Remove unused qemuBlockStorageSourceDetachOneBlockdev
qemuMigrationSrcNBDStorageCopyBlockdevPrepareSource: Don't setup 'raw'
layer for migration NBD connection
src/qemu/qemu_block.c | 257 ++++++++++++++++++-----------------
src/qemu/qemu_block.h | 16 +--
src/qemu/qemu_domain.c | 17 ++-
src/qemu/qemu_migration.c | 19 ++-
src/qemu/qemu_monitor.c | 7 +-
src/qemu/qemu_monitor.h | 2 +-
src/qemu/qemu_monitor_json.c | 6 +-
src/qemu/qemu_monitor_json.h | 2 +-
tests/qemumonitorjsontest.c | 10 +-
9 files changed, 185 insertions(+), 151 deletions(-)
Reviewed-by: Ján Tomko <jtomko(a)redhat.com>
Jano