Skip to content

block: Cache mode for children etc.

Kevin Wolf qemu-devel 2 versions – Applied

Status from this message: Applied to block-next.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest21 patches 5 repliesApplied
  2. v221 patches 28 repliesSuperseded

Changes in v3 from the cover letter

- Patch 3 ('mirror: Error out when a BDS would get two BBs') Fixed typo in a comment [Max]

- Patch 4 ('block: Allow references for backing files') Removed meanwhile redundant assertion [Max] s/backing_hd/backing/ in the commit message [Max]

- Patch 6 ('block: Exclude nested options only for children in append_open_options()') g_strdup() the child name to avoid use after free [Wen Congyang]

- Patch 14 ('blockdev: Set 'format' indicates non-empty drive') Fix qemu commandline in a qtest case [Wen Congyang]

- Patch 20 ('qemu-iotests: Test cache mode option inheritance') s/backing_hd/backing/ in some comments [Max]
Enabled commented out 'grep Cache' filter for saner output [Max]

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/21qcow2: Add .bdrv_join_options callbackblock/qcow2.c include/block/block_int.h+48 -00 replies
2/21block: Fix reopen with semantically overlapping optionsblock.c+15 -10 replies
3/21mirror: Error out when a BDS would get two BBsblock/mirror.c+28 -00 replies
4/21block: Allow references for backing filesblock.c block/mirror.c include/block/block.h+32 -210 replies
5/21block: Consider all block layer options in append_open_optionsblock.c+18 -80 replies
6/21block: Exclude nested options only for children in append_open_options()block.c include/block/block_int.h+17 -42 replies
7/21block: Pass driver-specific options to .bdrv_refresh_filename()block.c block/blkdebug.c block/blkverify.c +3 more+18 -200 replies
8/21block: Keep "driver" in bs->optionsblock.c+40 -170 replies
9/21block: Allow specifying child options in reopenblock.c+10 -20 replies
10/21block: reopen: Document option precedence and refactor accordinglyblock.c+33 -60 replies
11/21block: Add infrastructure for option inheritanceblock.c include/block/block_int.h+33 -220 replies
12/21block: Split out parse_json_protocol()block.c+32 -180 replies
13/21block: Introduce bs->explicit_optionsblock.c include/block/block.h include/block/block_int.h+24 -20 replies
14/21blockdev: Set 'format' indicates non-empty driveblockdev.c tests/hd-geo-test.c tests/qemu-iotests/iotests.py+4 -71 reply
15/21qemu-iotests: Remove cache mode test without mediumtests/qemu-iotests/051 tests/qemu-iotests/051.out tests/qemu-iotests/iotests.py+14 -140 replies
16/21block: reopen: Extract QemuOpts for generic block layer optionsblock.c+24 -00 replies
17/21block: Move cache options into options QDictblock.c blockdev.c+111 -411 reply
18/21blkdebug: Enable reopenblock/blkdebug.c+7 -00 replies
19/21qemu-iotests: Try setting cache mode for childrentests/qemu-iotests/051 tests/qemu-iotests/051.out+69 -10 replies
20/21qemu-iotests: Test cache mode option inheritancetests/qemu-iotests/142 tests/qemu-iotests/142.out tests/qemu-iotests/group+1128 -00 replies
21/21qemu-iotests: Test reopen with node-name/driver optionstests/qemu-iotests/133 tests/qemu-iotests/133.out tests/qemu-iotests/group+113 -00 replies

Reviews trailers per patch

All 21 patches have a Reviewed-by or Acked-by.

PatchMax ReitzAlberto GarciaEric Blake
1/21R-b R-b
2/21R-b R-b
3/21R-b
4/21R-b
5/21R-b R-b R-b
6/21R-b
7/21R-b R-b
8/21R-b
9/21R-b R-b
10/21R-b
11/21R-b
12/21R-b
13/21R-b
14/21R-b
15/21R-b
16/21R-b
17/21R-b
18/21R-b R-b
19/21R-b
20/21R-b
21/21R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v3 thread

Cover letter [Qemu-devel] [PATCH v3 00/21] block: Cache mode for children etc.

This is part three (or four, depending on whether you count the bdrv_swap removal) of what I had sent earlier as "[PATCH 00/34] block: Cache mode for children, reopen overhaul and more". Most of the patches were actually already reviewed in v1.

This part contains the remaining functional changes that the cover letter for v1 advertised, and a bit more:

- You can now use node name references for backing files
- bdrv_reopen() works now properly for inherited options (don't exist before this series; after the series the cache options)
- bdrv_reopen() works now properly with semantically overlapping options
- bdrv_reopen() can change child node options
- And finally you can set cache mode options for backing files and other children now (and the reopen behaviour even makes sense

v3:
- Patch 3 ('mirror: Error out when a BDS would get two BBs') Fixed typo in a comment [Max]

- Patch 4 ('block: Allow references for backing files') Removed meanwhile redundant assertion [Max] s/backing_hd/backing/ in the commit message [Max]

- Patch 6 ('block: Exclude nested options only for children in append_open_options()') g_strdup() the child name to avoid use after free [Wen Congyang]

- Patch 14 ('blockdev: Set 'format' indicates non-empty drive') Fix qemu commandline in a qtest case [Wen Congyang]

- Patch 20 ('qemu-iotests: Test cache mode option inheritance') s/backing_hd/backing/ in some comments [Max]
Enabled commented out 'grep Cache' filter for saner output [Max]

Kevin Wolf (21):
qcow2: Add .bdrv_join_options callback
block: Fix reopen with semantically overlapping options
mirror: Error out when a BDS would get two BBs
block: Allow references for backing files
block: Consider all block layer options in append_open_options
block: Exclude nested options only for children in
append_open_options()
block: Pass driver-specific options to .bdrv_refresh_filename()
block: Keep "driver" in bs->options
block: Allow specifying child options in reopen
block: reopen: Document option precedence and refactor accordingly
block: Add infrastructure for option inheritance
block: Split out parse_json_protocol()
block: Introduce bs->explicit_options
blockdev: Set 'format' indicates non-empty drive
qemu-iotests: Remove cache mode test without medium
block: reopen: Extract QemuOpts for generic block layer options
block: Move cache options into options QDict
blkdebug: Enable reopen
qemu-iotests: Try setting cache mode for children
qemu-iotests: Test cache mode option inheritance
qemu-iotests: Test reopen with node-name/driver options

 block.c                       | 459 +++++++++++++++++++------
 block/blkdebug.c              |  24 +-
 block/blkverify.c             |   2 +-
 block/mirror.c                |  30 +-
 block/nbd.c                   |  10 +-
 block/qcow2.c                 |  47 +++
 block/quorum.c                |   2 +-
 blockdev.c                    |  57 +---
 include/block/block.h         |   4 +-
 include/block/block_int.h     |   8 +-
 tests/hd-geo-test.c           |   4 +-
 tests/qemu-iotests/051        |  22 +-
 tests/qemu-iotests/051.out    |  74 +++-
 tests/qemu-iotests/133        |  90 +++++
 tests/qemu-iotests/133.out    |  22 ++
 tests/qemu-iotests/142        | 354 +++++++++++++++++++
 tests/qemu-iotests/142.out    | 773 ++++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/group      |   2 +
 tests/qemu-iotests/iotests.py |   4 +-
 19 files changed, 1811 insertions(+), 177 deletions(-)
 create mode 100755 tests/qemu-iotests/133
 create mode 100644 tests/qemu-iotests/133.out
 create mode 100755 tests/qemu-iotests/142
 create mode 100644 tests/qemu-iotests/142.out
Signature · 1 line
1.8.3.1