All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, qemu-block@nongnu.org
Subject: [Qemu-devel] [PATCH v2 00/13] Kill sector-based write_zeroes
Date: Wed,  1 Jun 2016 15:10:00 -0600	[thread overview]
Message-ID: <1464815413-613-1-git-send-email-eblake@redhat.com> (raw)

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	other threads:[~2016-06-01 21:10 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-01 21:10 Eric Blake [this message]
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 01/13] iscsi: Use block size as minimum zero/discard alignment Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 02/13] block: Track write zero limits in bytes Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 03/13] block: Add .bdrv_co_pwrite_zeroes() Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 04/13] block: Switch bdrv_write_zeroes() to byte interface Eric Blake
2016-06-02 11:01   ` Kevin Wolf
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 05/13] iscsi: Convert to bdrv_co_pwrite_zeroes() Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 06/13] qcow2: " Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 07/13] blkreplay: " Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 08/13] gluster: " Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 09/13] qed: " Eric Blake
2016-06-02 11:16   ` Kevin Wolf
2016-06-02 12:40     ` Eric Blake
2016-06-02 12:45       ` Kevin Wolf
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 10/13] raw-posix: " Eric Blake
2016-06-03 16:21   ` Kevin Wolf
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 11/13] raw_bsd: " Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 12/13] vmdk: " Eric Blake
2016-06-01 21:10 ` [Qemu-devel] [PATCH v2 13/13] block: Kill bdrv_co_write_zeroes() Eric Blake
2016-06-02 11:26 ` [Qemu-devel] [PATCH v2 00/13] Kill sector-based write_zeroes 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=1464815413-613-1-git-send-email-eblake@redhat.com \
    --to=eblake@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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.