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
--
1.8.3.1