2.7 material, depends on Kevin's block-next: git://repo.or.cz/qemu/kevin.git block-next
Previously posted as part of a larger NBD series [1] and as v5 [2]. Mostly orthogonal to Kevin's recent work to also kill sector interfaces from the driver. [1] https://lists.gnu.org/archive/html/qemu-devel/2016-04/msg03526.html [2] https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg00235.html Also available as a tag at this location: git fetch git://repo.or.cz/qemu/ericb.git nbd-block-v6 Changes since then: - patch 2: new patch for something that confused me - patch 3 (was 12/14): moved earlier - patch 4 (was 13/14): moved earlier, retitled, and touches more interfaces - patches 5-9: new, to cover blk_aio_{read,write}v - patch 15: also cover blk_aio_{read,write}v - patch 19: also cover blk_aio_{read,write}v, don't break qemu-iotests 23 [kwolf] - patch 20 (was 14/14): retitle, kill more dead code I still plan to make qemu-io 'read' accept unaligned access without requiring -p, but that will now come in a later series that does other qemu-io UI improvements (besides, 20 patches is big enough to review for now). For qemu-iotests 23 to work with unaligned 'read', I also have to fix 'readv' to be unaligned; which is why this series grew to include blk_aio_*. Note that there are still a few sector-aligned blk_* interfaces left even after this series, but we are progressively getting closer to using byte interfaces throughout the code base. 001/20:[----] [--] 'block: Allow BDRV_REQ_FUA through blk_pwrite()' 002/20:[down] 'block: Drop private ioctl-only members of BlockRequest' 003/20:[----] [--] 'block: Switch blk_read_unthrottled() to byte interface' 004/20:[down] 'block: Switch blk_*write_zeroes() to byte interface' 005/20:[down] 'block: Introduce byte-based aio read/write' 006/20:[down] 'ide: Switch to byte-based aio block access' 007/20:[down] 'scsi-disk: Switch to byte-based aio block access' 008/20:[down] 'virtio: Switch to byte-based aio block access' 009/20:[down] 'xen_disk: Switch to byte-based aio block access' 010/20:[----] [--] 'fdc: Switch to byte-based block access' 011/20:[----] [--] 'nand: Switch to byte-based block access' 012/20:[----] [--] 'onenand: Switch to byte-based block access' 013/20:[----] [--] 'pflash: Switch to byte-based block access' 014/20:[----] [--] 'sd: Switch to byte-based block access' 015/20:[0020] [FC] 'm25p80: Switch to byte-based block access' 016/20:[----] [--] 'atapi: Switch to byte-based block access' 017/20:[----] [--] 'nbd: Switch to byte-based block access' 018/20:[----] [--] 'qemu-img: Switch to byte-based block access' 019/20:[0041] [FC] 'qemu-io: Switch to byte-based block access' 020/20:[down] 'block: Kill unused sector-based blk_* functions' Eric Blake (20): block: Allow BDRV_REQ_FUA through blk_pwrite() block: Drop private ioctl-only members of BlockRequest block: Switch blk_read_unthrottled() to byte interface block: Switch blk_*write_zeroes() to byte interface block: Introduce byte-based aio read/write ide: Switch to byte-based aio block access scsi-disk: Switch to byte-based aio block access virtio: Switch to byte-based aio block access xen_disk: Switch to byte-based aio block access fdc: Switch to byte-based block access nand: Switch to byte-based block access onenand: Switch to byte-based block access pflash: Switch to byte-based block access sd: Switch to byte-based block access m25p80: Switch to byte-based block access atapi: Switch to byte-based block access nbd: Switch to byte-based block access qemu-img: Switch to byte-based block access qemu-io: Switch to byte-based block access block: Kill unused sector-based blk_* functions hw/ide/internal.h | 2 +- include/block/block.h | 16 ++----- include/sysemu/block-backend.h | 33 ++++++------- include/sysemu/dma.h | 4 +- block/block-backend.c | 104 ++++++++++++----------------------------- block/crypto.c | 2 +- block/io.c | 8 ++-- block/parallels.c | 5 +- block/qcow.c | 8 ++-- block/qcow2.c | 4 +- block/qed.c | 6 +-- block/sheepdog.c | 2 +- block/vdi.c | 4 +- block/vhdx.c | 5 +- block/vmdk.c | 10 ++-- block/vpc.c | 10 ++-- dma-helpers.c | 14 +++--- hw/block/fdc.c | 25 ++++++---- hw/block/hd-geometry.c | 2 +- hw/block/m25p80.c | 23 +++------ hw/block/nand.c | 36 ++++++++------ hw/block/onenand.c | 41 ++++++++++------ hw/block/pflash_cfi01.c | 12 ++--- hw/block/pflash_cfi02.c | 12 ++--- hw/block/virtio-blk.c | 18 ++++--- hw/block/xen_disk.c | 10 ++-- hw/ide/atapi.c | 19 ++++---- hw/ide/core.c | 10 ++-- hw/ide/macio.c | 9 ++-- hw/nvram/spapr_nvram.c | 4 +- hw/scsi/scsi-disk.c | 35 +++++++------- hw/sd/sd.c | 51 ++------------------ nbd/server.c | 2 +- qemu-img.c | 31 ++++++++---- qemu-io-cmds.c | 70 ++++++--------------------- qemu-nbd.c | 11 +++-- trace-events | 2 +- 37 files changed, 277 insertions(+), 383 deletions(-) -- 2.5.5