qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-block] [PATCH v2 00/13] Kill sector-based write_zeroes


From: Eric Blake
Subject: [Qemu-block] [PATCH v2 00/13] Kill sector-based write_zeroes
Date: Wed, 1 Jun 2016 15:10:00 -0600

Kevin pointed out that my recent change to byte-based instead
of sector-based blk_write_zeroes() (commit 983a1600) makes life
harder as long as bdrv_write_zeroes is still sector-based, and
where the compiler doesn't flag any change in parameter types.
Complete the conversion, by making all write_zeroes operations
nominally take bytes.

Depends on:
https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg04636.html

Available as a tag here:
git fetch git://repo.or.cz/qemu/ericb.git nbd-zero-v2

Changes from v1:
- Original patch 1 already landed
- Rebase to other changes that have landed, as well as to proposed
qcow2 changes [multiple, especially patch 6]
- Fix calculation bugs in iscsi [new patch 1, patch 5]
- Allow granularity of 1, rather than forcing a minimum of 512 [patch 3]
- Implement bdrv_pwrite_zeroes() atop bdrv_prwv_co() [patch 4]
- Drop some useless variables, but don't drop qiov from raw-posix
[patches 8, 10, 12]
- Fix qed to use fallback on unaligned request even without backing
file [patch 9]

Ideas for future series:
Audit for using uint32_t instead of int for length
Track all block limits in bytes rather than sectors
Convert discard to byte-based interface
Switch drivers to byte-based read/write

001/13:[down] 'iscsi: Use block size as minimum zero/discard alignment'
002/13:[0060] [FC] 'block: Track write zero limits in bytes'
003/13:[0037] [FC] 'block: Add .bdrv_co_pwrite_zeroes()'
004/13:[0028] [FC] 'block: Switch bdrv_write_zeroes() to byte interface'
005/13:[0003] [FC] 'iscsi: Convert to bdrv_co_pwrite_zeroes()'
006/13:[0071] [FC] 'qcow2: Convert to bdrv_co_pwrite_zeroes()'
007/13:[----] [--] 'blkreplay: Convert to bdrv_co_pwrite_zeroes()'
008/13:[0003] [FC] 'gluster: Convert to bdrv_co_pwrite_zeroes()'
009/13:[0012] [FC] 'qed: Convert to bdrv_co_pwrite_zeroes()'
010/13:[0019] [FC] 'raw-posix: Convert to bdrv_co_pwrite_zeroes()'
011/13:[----] [--] 'raw_bsd: Convert to bdrv_co_pwrite_zeroes()'
012/13:[0003] [FC] 'vmdk: Convert to bdrv_co_pwrite_zeroes()'
013/13:[----] [--] 'block: Kill bdrv_co_write_zeroes()'

Eric Blake (13):
  iscsi: Use block size as minimum zero/discard alignment
  block: Track write zero limits in bytes
  block: Add .bdrv_co_pwrite_zeroes()
  block: Switch bdrv_write_zeroes() to byte interface
  iscsi: Convert to bdrv_co_pwrite_zeroes()
  qcow2: Convert to bdrv_co_pwrite_zeroes()
  blkreplay: Convert to bdrv_co_pwrite_zeroes()
  gluster: Convert to bdrv_co_pwrite_zeroes()
  qed: Convert to bdrv_co_pwrite_zeroes()
  raw-posix: Convert to bdrv_co_pwrite_zeroes()
  raw_bsd: Convert to bdrv_co_pwrite_zeroes()
  vmdk: Convert to bdrv_co_pwrite_zeroes()
  block: Kill bdrv_co_write_zeroes()

 include/block/block.h     |  16 +++----
 include/block/block_int.h |  16 ++++---
 block/blkreplay.c         |   8 ++--
 block/gluster.c           |  14 +++---
 block/io.c                | 114 +++++++++++++++++++++++++---------------------
 block/iscsi.c             |  70 ++++++++++++++++------------
 block/parallels.c         |   4 +-
 block/qcow2-cluster.c     |   3 +-
 block/qcow2.c             |  48 +++++++++----------
 block/qed.c               |  35 +++++++-------
 block/raw-posix.c         |  34 +++++++-------
 block/raw_bsd.c           |  10 ++--
 block/vmdk.c              |  18 ++++----
 migration/block.c         |   5 +-
 tests/qemu-iotests/034    |   2 +-
 tests/qemu-iotests/154    |   2 +-
 trace-events              |  10 ++--
 17 files changed, 216 insertions(+), 193 deletions(-)

-- 
2.5.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]