[PATCH 00/17] qemu: Prepare block device setup for removing the 'raw' driver ('raw' driver removal part 3)

Peter Krempa posted 17 patches 5 months ago
Failed in applying to current master (apply log)
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(-)
[PATCH 00/17] qemu: Prepare block device setup for removing the 'raw' driver ('raw' driver removal part 3)
Posted by Peter Krempa 5 months ago
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(-)

-- 
2.42.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 00/17] qemu: Prepare block device setup for removing the 'raw' driver ('raw' driver removal part 3)
Posted by Ján Tomko 5 months ago
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@redhat.com>

Jano
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org