[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv5 0/3] block: optimize zero writes with bdrv_write_z
From: |
Peter Lieven |
Subject: |
[Qemu-devel] [PATCHv5 0/3] block: optimize zero writes with bdrv_write_zeroes |
Date: |
Sun, 18 May 2014 00:58:16 +0200 |
this series tries to optimize zero write requests
by automatically using bdrv_write_zeroes if it is
supported by the format. More details can be found
in the commit message to patch 3.
Changes:
v4->v5: - split patch into 3 separate patches [Kevin, Eric]
- use QEMU_ALIGN_DOWN in qemu_iovec_is_zero [Kevin]
- remove check for bs->file from the
"pretty long condition" [Kevin]
- added possible values for discard-zeroes to QemuOptsList [Eric]
- fail if detect-zeroes = unmap is choosen without discard = unmap
[Kevin]
- show detect-zeroes mode always in hmp if enabled [Kevin]
v3->v4: - use QAPI generated enum and lookup table [Kevin]
- added more details about the options in the comments
of the qapi-schema [Eric]
- changed the type of detect_zeroes from str to
BlockdevDetectZeroesOptions. I left the name
as is because it is consistent with e.g.
BlockdevDiscardOptions or BlockdevAioOptions [Eric]
- changed the parse function in blockdev_init to
be generic usable for other enum parameters
v2->v3: - moved parameter parsing to blockdev_init
- added per device detect_zeroes status to
hmp (info block -v) and qmp (query-block) [Eric]
- added support to enable detect-zeroes also
for hot added devices [Eric]
- added missing entry to qemu_common_drive_opts
- fixed description of qemu_iovec_is_zero [Fam]
v1->v2: - added tests to commit message (Markus)
RFCv2->v1: - fixed paramter parsing strncmp -> strcmp (Eric)
- fixed typo (choosen->chosen) (Eric)
- added second example to commit msg
RFCv1->RFCv2: - add detect-zeroes=off|on|unmap knob to drive cmdline parameter
- call zero detection only for format (bs->file != NULL)
Peter Lieven (3):
util: add qemu_iovec_is_zero
blockdev: add a function to parse enum ids from strings
block: optimize zero writes with bdrv_write_zeroes
block.c | 9 ++++++++
block/qapi.c | 1 +
blockdev.c | 41 +++++++++++++++++++++++++++++++++++
hmp.c | 5 +++++
include/block/block_int.h | 1 +
include/qemu-common.h | 1 +
qapi-schema.json | 52 ++++++++++++++++++++++++++++++++-------------
qemu-options.hx | 6 ++++++
qmp-commands.hx | 3 +++
util/iov.c | 21 ++++++++++++++++++
10 files changed, 125 insertions(+), 15 deletions(-)
--
1.7.9.5
- [Qemu-devel] [PATCHv5 0/3] block: optimize zero writes with bdrv_write_zeroes,
Peter Lieven <=