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
next 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).