block: optimize zero writes with bdrv_write_zeroes
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest3 patches 1 replyIn review
- v41 patch 7 repliesSuperseded
- v3 posting 2/21 patch 9 repliesSuperseded
Earlier versions · 4
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v3 posting 1/2 | 1 patch | 1 reply | Superseded | |
| v2 posting 2/2 | 1 patch | 3 replies | Superseded | |
| v2 RFC posting 1/2 | 1 patch | 5 replies | Superseded | |
| v1 RFC | 1 patch | 17 replies | Superseded |
Changes from the cover letter
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]
Patches in v5 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | util: add qemu_iovec_is_zeroinclude/ util/ | +22 | 0 replies | |
| 2/3 | blockdev: add a function to parse enum ids from stringsblockdev.c | +17 | 0 replies | |
| 3/3 | block: optimize zero writes with bdrv_write_zeroesblock.c block/ blockdev.c +5 more | +86 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.
Cover letter [Qemu-devel] [PATCHv5 0/3] block: optimize zero writes with bdrv_write_zeroes
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(-)
Signature · 1 line
1.7.9.5