On 2018-08-10 00:31, Max Reitz wrote: [...] > v2: > - Patch 4: We must clear BDS.exact_filename for filter nodes, or we > basically end up with a random filename for them. This is achieved by > pulling the !drv->is_filter check into an inner condition. > (Fixes iotests 40 and 184) > > - Patch 7: iotest 228 tried to use QAPI's backing_file information > (which was very inconsistent, so with 228 doing some funky backing > stuff, it really showed) to get some idea of what qemu thinks about > the image header. Let's make it use full-backing-filename (and that > now really reflects the image header). *cough* *cough* *cough* git-backport-diff against v1: Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/11:[----] [--] 'block: Mark commit and mirror as filter drivers' 002/11:[----] [--] 'blockdev: Check @replaces in blockdev_mirror_common' 003/11:[----] [--] 'block: Filtered children access functions' 004/11:[0005] [FC] 'block: Storage child access function' 005/11:[----] [--] 'block: Fix check_to_replace_node()' 006/11:[----] [--] 'iotests: Add tests for mirror @replaces loops' 007/11:[0012] [FC] 'block: Leave BDS.backing_file constant' 008/11:[----] [--] 'iotests: Add filter commit test cases' 009/11:[----] [--] 'iotests: Add filter mirror test cases' 010/11:[----] [--] 'iotests: Add test for commit in sub directory' 011/11:[----] [--] 'iotests: Test committing to overridden backing' > Max Reitz (11): > block: Mark commit and mirror as filter drivers > blockdev: Check @replaces in blockdev_mirror_common > block: Filtered children access functions > block: Storage child access function > block: Fix check_to_replace_node() > iotests: Add tests for mirror @replaces loops > block: Leave BDS.backing_file constant > iotests: Add filter commit test cases > iotests: Add filter mirror test cases > iotests: Add test for commit in sub directory > iotests: Test committing to overridden backing > > qapi/block-core.json | 4 + > include/block/block.h | 2 + > include/block/block_int.h | 53 ++++- > block.c | 341 ++++++++++++++++++++++++++++----- > block/backup.c | 8 +- > block/block-backend.c | 16 +- > block/commit.c | 38 ++-- > block/io.c | 47 +++-- > block/mirror.c | 39 ++-- > block/qapi.c | 38 ++-- > block/snapshot.c | 40 ++-- > block/stream.c | 15 +- > blockdev.c | 167 ++++++++++++---- > migration/block-dirty-bitmap.c | 4 +- > nbd/server.c | 8 +- > qemu-img.c | 24 ++- > tests/qemu-iotests/020 | 36 ++++ > tests/qemu-iotests/020.out | 10 + > tests/qemu-iotests/040 | 191 ++++++++++++++++++ > tests/qemu-iotests/040.out | 4 +- > tests/qemu-iotests/041 | 270 +++++++++++++++++++++++++- > tests/qemu-iotests/041.out | 4 +- > tests/qemu-iotests/191.out | 1 - > tests/qemu-iotests/228 | 6 +- > tests/qemu-iotests/228.out | 6 +- > 25 files changed, 1141 insertions(+), 231 deletions(-) >