From: Max Reitz <mreitz@redhat.com>
To: Markus Armbruster <armbru@redhat.com>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, benoit.canet@nodalink.com, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH v6 16/24] hw: Convert from BlockDriverState to BlockBackend, mostly
Date: Tue, 07 Oct 2014 18:10:04 +0200 [thread overview]
Message-ID: <5434105C.7070205@redhat.com> (raw)
In-Reply-To: <1412683166-4934-17-git-send-email-armbru@redhat.com>
On 07.10.2014 13:59, Markus Armbruster wrote:
> Device models should access their block backends only through the
> block-backend.h API. Convert them, and drop direct includes of
> inappropriate headers.
>
> Just four uses of BlockDriverState are left:
>
> * The Xen paravirtual block device backend (xen_disk.c) opens images
> itself when set up via xenbus, bypassing blockdev.c. I figure it
> should go through qmp_blockdev_add() instead.
>
> * Device model "usb-storage" prompts for keys. No other device model
> does, and this one probably shouldn't do it, either.
>
> * ide_issue_trim_cb() uses bdrv_aio_discard() instead of
> blk_aio_discard() because it fishes its backend out of a BlockAIOCB,
> which has only the BlockDriverState.
>
> * PC87312State has an unused BlockDriverState[] member.
>
> The next two commits take care of the latter two.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> block/block-backend.c | 262 +++++++++++++++++++++++++++++++
> blockdev.c | 12 +-
> dma-helpers.c | 61 +++----
> hw/arm/collie.c | 5 +-
> hw/arm/gumstix.c | 5 +-
> hw/arm/highbank.c | 2 +-
> hw/arm/mainstone.c | 2 +-
> hw/arm/musicpal.c | 10 +-
> hw/arm/nseries.c | 3 +-
> hw/arm/omap1.c | 2 +-
> hw/arm/omap2.c | 2 +-
> hw/arm/omap_sx1.c | 5 +-
> hw/arm/pxa2xx.c | 4 +-
> hw/arm/realview.c | 2 +-
> hw/arm/spitz.c | 4 +-
> hw/arm/tosa.c | 3 +-
> hw/arm/versatilepb.c | 3 +-
> hw/arm/vexpress.c | 3 +-
> hw/arm/virt.c | 2 +-
> hw/arm/xilinx_zynq.c | 3 +-
> hw/arm/z2.c | 3 +-
> hw/block/block.c | 7 +-
> hw/block/dataplane/virtio-blk.c | 24 +--
> hw/block/fdc.c | 78 +++++----
> hw/block/hd-geometry.c | 24 +--
> hw/block/m25p80.c | 28 ++--
> hw/block/nand.c | 50 +++---
> hw/block/nvme.c | 19 +--
> hw/block/onenand.c | 67 ++++----
> hw/block/pflash_cfi01.c | 24 +--
> hw/block/pflash_cfi02.c | 24 +--
> hw/block/virtio-blk.c | 95 +++++------
> hw/block/xen_disk.c | 83 +++++-----
> hw/core/qdev-properties-system.c | 26 +--
> hw/core/qdev-properties.c | 2 +-
> hw/cris/axis_dev88.c | 3 +-
> hw/display/tc6393xb.c | 2 +-
> hw/i386/pc.c | 2 +-
> hw/i386/pc_piix.c | 2 +-
> hw/i386/pc_sysfw.c | 9 +-
> hw/i386/xen/xen_platform.c | 5 +-
> hw/ide/ahci.c | 31 ++--
> hw/ide/atapi.c | 33 ++--
> hw/ide/cmd646.c | 2 +-
> hw/ide/core.c | 184 ++++++++++++----------
> hw/ide/ich.c | 2 +-
> hw/ide/internal.h | 6 +-
> hw/ide/isa.c | 2 +-
> hw/ide/macio.c | 50 +++---
> hw/ide/microdrive.c | 4 +-
> hw/ide/mmio.c | 2 +-
> hw/ide/pci.c | 4 +-
> hw/ide/piix.c | 8 +-
> hw/ide/qdev.c | 11 +-
> hw/ide/via.c | 2 +-
> hw/isa/pc87312.c | 4 +-
> hw/lm32/lm32_boards.c | 5 +-
> hw/lm32/milkymist.c | 3 +-
> hw/microblaze/petalogix_ml605_mmu.c | 3 +-
> hw/microblaze/petalogix_s3adsp1800_mmu.c | 3 +-
> hw/mips/mips_fulong2e.c | 2 +-
> hw/mips/mips_jazz.c | 2 +-
> hw/mips/mips_malta.c | 6 +-
> hw/mips/mips_r4k.c | 3 +-
> hw/nvram/spapr_nvram.c | 17 +-
> hw/pci/pci-hotplug-old.c | 5 +-
> hw/ppc/mac_newworld.c | 2 +-
> hw/ppc/mac_oldworld.c | 2 +-
> hw/ppc/ppc405_boards.c | 26 +--
> hw/ppc/prep.c | 2 +-
> hw/ppc/spapr.c | 4 +-
> hw/ppc/virtex_ml507.c | 3 +-
> hw/s390x/s390-virtio-bus.c | 2 +-
> hw/s390x/s390-virtio.c | 2 +-
> hw/s390x/virtio-ccw.c | 2 +-
> hw/scsi/megasas.c | 15 +-
> hw/scsi/scsi-bus.c | 12 +-
> hw/scsi/scsi-disk.c | 182 ++++++++++-----------
> hw/scsi/scsi-generic.c | 35 +++--
> hw/scsi/virtio-scsi-dataplane.c | 3 +-
> hw/scsi/virtio-scsi.c | 15 +-
> hw/sd/milkymist-memcard.c | 8 +-
> hw/sd/omap_mmc.c | 8 +-
> hw/sd/pl181.c | 2 +-
> hw/sd/pxa2xx_mmci.c | 4 +-
> hw/sd/sd.c | 60 +++----
> hw/sd/sdhci.c | 2 +-
> hw/sd/ssi-sd.c | 2 +-
> hw/sh4/r2d.c | 3 +-
> hw/sparc/sun4m.c | 2 +-
> hw/sparc64/sun4u.c | 2 +-
> hw/tpm/tpm_tis.c | 2 +-
> hw/tricore/tricore_testboard.c | 2 +-
> hw/usb/dev-storage.c | 17 +-
> hw/virtio/virtio-pci.c | 2 +-
> hw/xen/xen_devconfig.c | 1 +
> hw/xenpv/xen_machine_pv.c | 2 +-
> hw/xtensa/xtfpga.c | 3 +-
> include/hw/arm/omap.h | 4 +-
> include/hw/arm/pxa.h | 2 +-
> include/hw/block/block.h | 6 +-
> include/hw/block/flash.h | 6 +-
> include/hw/qdev-properties.h | 8 +-
> include/hw/scsi/scsi.h | 4 +-
> include/hw/sd.h | 2 +-
> include/hw/virtio/virtio-blk.h | 7 +-
> include/qemu/typedefs.h | 1 +
> include/sysemu/block-backend.h | 76 +++++++++
> include/sysemu/blockdev.h | 5 +-
> include/sysemu/dma.h | 20 +--
> trace-events | 8 +-
> 111 files changed, 1137 insertions(+), 807 deletions(-)
Reviewed-by: Max Reitz <mreitz@redhat.com>
next prev parent reply other threads:[~2014-10-07 16:13 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-07 11:59 [Qemu-devel] [PATCH v6 00/24] Split BlockBackend off BDS with an axe Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 01/24] block: Split bdrv_new_root() off bdrv_new() Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 02/24] block: New BlockBackend Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 03/24] block: Connect BlockBackend to BlockDriverState Markus Armbruster
2014-10-07 15:51 ` Max Reitz
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 04/24] block: Connect BlockBackend and DriveInfo Markus Armbruster
2014-10-07 15:59 ` Max Reitz
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 05/24] block: Code motion to get rid of stubs/blockdev.c Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 06/24] block: Make BlockBackend own its BlockDriverState Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 07/24] blockdev: Eliminate drive_del() Markus Armbruster
2014-10-07 16:04 ` Max Reitz
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 08/24] block: Eliminate bdrv_iterate(), use bdrv_next() Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 09/24] block: Eliminate BlockDriverState member device_name[] Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 10/24] block: Merge BlockBackend and BlockDriverState name spaces Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 11/24] block: Eliminate DriveInfo member bdrv, use blk_by_legacy_dinfo() Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 12/24] block: Rename BlockDriverAIOCB* to BlockAIOCB* Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 13/24] block: Rename BlockDriverCompletionFunc to BlockCompletionFunc Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 14/24] virtio-blk: Drop redundant VirtIOBlock member conf Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 15/24] virtio-blk: Rename VirtIOBlkConf variables to conf Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 16/24] hw: Convert from BlockDriverState to BlockBackend, mostly Markus Armbruster
2014-10-07 16:10 ` Max Reitz [this message]
2014-10-17 18:31 ` Kevin Wolf
2014-10-20 8:19 ` Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 17/24] ide: Complete conversion from BlockDriverState to BlockBackend Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 18/24] pc87312: Drop unused members of PC87312State Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 19/24] blockdev: Drop superfluous DriveInfo member id Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 20/24] blockdev: Fix blockdev-add not to create DriveInfo Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 21/24] block/qapi: Convert qmp_query_block() to BlockBackend Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 22/24] blockdev: Convert qmp_eject(), qmp_change_blockdev() " Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 23/24] block: Lift device model API into BlockBackend Markus Armbruster
2014-10-07 11:59 ` [Qemu-devel] [PATCH v6 24/24] block: Make device model's references to BlockBackend strong Markus Armbruster
2014-10-17 19:07 ` [Qemu-devel] [PATCH v6 00/24] Split BlockBackend off BDS with an axe Kevin Wolf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5434105C.7070205@redhat.com \
--to=mreitz@redhat.com \
--cc=armbru@redhat.com \
--cc=benoit.canet@nodalink.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.