Message ID | 20191111160216.197086-1-mreitz@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | block: Fix check_to_replace_node() | expand |
3 last iotests patches don't apply now.. Do you have a branch pushed somewhere? 11.11.2019 19:01, Max Reitz wrote: > Based-on: <20191108123455.39445-1-mreitz@redhat.com> > (“iotests: Test failing mirror complete”) > > (Because both add cases to 041.) > > > Hi, > > For what this series does, see the cover letter of v1: > > https://lists.nongnu.org/archive/html/qemu-block/2019-09/msg01027.html > > > Now, in v2 I’ve addressed Vladimir’s comments: > - Patch 5: Extend explanation in the commit message > - Patch 6: Prefer driver-specific .bdrv_recurse_can_replace() > implementation before the generic one for filters > - Patch 8: Some more s/BdrvChild \*/QuorumChild/ > - Patch 15: Fix typo in the commit message > - Patch 17: Added > - Patch 18: > - Split @path into @root + @path > - In one instance, use x = next(y, z) instead of > try: x = next(y); except StopIteration: x = z; > - %s/'''/"""/ > - Patch 19: Fallout from the patch 18 changes > - Patch 20: Fix in the commit message (uncommenting -> commenting out) > - Patch 21: > - Check full stderr message by inspecting the VM log > - Fallout from the patch 18 changes > - %s/'''/"""/ > - Patch 22: > - Skip case if COR is unsupported > - Fallout from the patch 18 changes > - %s/'''/"""/ > - Patch 23: > - Added more comments > - Skip cases if throttle/COR/quorum (as appropriate) is unsupported > - Use imgfmt instead of hard-coding qcow2 > - Fallout from the patch 18 changes > - %s/'''/"""/ > > > 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/23:[----] [--] 'blockdev: Allow external snapshots everywhere' > 002/23:[----] [--] 'blockdev: Allow resizing everywhere' > 003/23:[----] [--] 'block: Drop bdrv_is_first_non_filter()' > 004/23:[----] [--] 'iotests: Let 041 use -blockdev for quorum children' > 005/23:[----] [--] 'quorum: Fix child permissions' > 006/23:[0012] [FC] 'block: Add bdrv_recurse_can_replace()' > 007/23:[----] [--] 'blkverify: Implement .bdrv_recurse_can_replace()' > 008/23:[0006] [FC] 'quorum: Store children in own structure' > 009/23:[----] [--] 'quorum: Add QuorumChild.to_be_replaced' > 010/23:[----] [--] 'quorum: Implement .bdrv_recurse_can_replace()' > 011/23:[----] [--] 'block: Use bdrv_recurse_can_replace()' > 012/23:[----] [--] 'block: Remove bdrv_recurse_is_first_non_filter()' > 013/23:[----] [--] 'mirror: Double-check immediately before replacing' > 014/23:[----] [--] 'quorum: Stop marking it as a filter' > 015/23:[----] [--] 'mirror: Prevent loops' > 016/23:[----] [--] 'iotests: Use complete_and_wait() in 155' > 017/23:[down] 'iotests: Use skip_if_unsupported decorator in 041' > 018/23:[0037] [FC] 'iotests: Add VM.assert_block_path()' > 019/23:[0004] [FC] 'iotests: Resolve TODOs in 041' > 020/23:[----] [--] 'iotests: Use self.image_len in TestRepairQuorum' > 021/23:[0027] [FC] 'iotests: Add tests for invalid Quorum @replaces' > 022/23:[0007] [FC] 'iotests: Check that @replaces can replace filters' > 023/23:[0141] [FC] 'iotests: Mirror must not attempt to create loops' > > > Max Reitz (23): > blockdev: Allow external snapshots everywhere > blockdev: Allow resizing everywhere > block: Drop bdrv_is_first_non_filter() > iotests: Let 041 use -blockdev for quorum children > quorum: Fix child permissions > block: Add bdrv_recurse_can_replace() > blkverify: Implement .bdrv_recurse_can_replace() > quorum: Store children in own structure > quorum: Add QuorumChild.to_be_replaced > quorum: Implement .bdrv_recurse_can_replace() > block: Use bdrv_recurse_can_replace() > block: Remove bdrv_recurse_is_first_non_filter() > mirror: Double-check immediately before replacing > quorum: Stop marking it as a filter > mirror: Prevent loops > iotests: Use complete_and_wait() in 155 > iotests: Use skip_if_unsupported decorator in 041 > iotests: Add VM.assert_block_path() > iotests: Resolve TODOs in 041 > iotests: Use self.image_len in TestRepairQuorum > iotests: Add tests for invalid Quorum @replaces > iotests: Check that @replaces can replace filters > iotests: Mirror must not attempt to create loops > > block.c | 115 ++++++---- > block/blkverify.c | 20 +- > block/copy-on-read.c | 9 - > block/mirror.c | 31 ++- > block/quorum.c | 161 +++++++++++--- > block/replication.c | 7 - > block/throttle.c | 8 - > blockdev.c | 58 ++++- > include/block/block.h | 5 - > include/block/block_int.h | 19 +- > tests/qemu-iotests/041 | 402 ++++++++++++++++++++++++++++++---- > tests/qemu-iotests/041.out | 4 +- > tests/qemu-iotests/155 | 7 +- > tests/qemu-iotests/iotests.py | 59 +++++ > 14 files changed, 715 insertions(+), 190 deletions(-) >
On 29.11.19 13:24, Vladimir Sementsov-Ogievskiy wrote:
> 3 last iotests patches don't apply now.. Do you have a branch pushed somewhere?
Hm, it’s based on “iotests: Test failing mirror complete”, maybe because
of that.
Does this work?
https://git.xanclic.moe/XanClic/qemu.git fix-can-replace-v2
Max
29.11.2019 15:49, Max Reitz wrote: > On 29.11.19 13:24, Vladimir Sementsov-Ogievskiy wrote: >> 3 last iotests patches don't apply now.. Do you have a branch pushed somewhere? > > Hm, it’s based on “iotests: Test failing mirror complete”, maybe because > of that. > > Does this work? > > https://git.xanclic.moe/XanClic/qemu.git fix-can-replace-v2 > Hmm, I remember in past, fetching from this repo always hang for me. But now it works, thanks.
On 29.11.19 13:55, Vladimir Sementsov-Ogievskiy wrote: > 29.11.2019 15:49, Max Reitz wrote: >> On 29.11.19 13:24, Vladimir Sementsov-Ogievskiy wrote: >>> 3 last iotests patches don't apply now.. Do you have a branch pushed somewhere? >> >> Hm, it’s based on “iotests: Test failing mirror complete”, maybe because >> of that. >> >> Does this work? >> >> https://git.xanclic.moe/XanClic/qemu.git fix-can-replace-v2 >> > > Hmm, I remember in past, fetching from this repo always hang for me. > But now it works, thanks. Possibly because I disabled Gravatar fetching. :-) (No idea why that would affect git, but I do know it made the normal browser representation quicker.) Max