On Tue, 20 Dec 2022 at 18:46, Fabiano Rosas <[email protected]> wrote: > > Peter Maydell <[email protected]> writes: > > > In commit da0bd74434 we refactored bdrv_drain_all_begin() to pull out > > the non-polling part into bdrv_drain_all_begin_nopoll(). This change > > broke record-and-replay, because the "return early if replay enabled" > > check is now in the sub-function bdrv_drain_all_begin_nopoll(), and > > so it only causes us to return from that function, and not from the > > calling bdrv_drain_all_begin(). > > > > Fix the regression by checking whether replay is enabled in both > > functions. > > > > The breakage and fix can be tested via 'make check-avocado': the > > tests/avocado/reverse_debugging.py:ReverseDebugging_X86_64.test_x86_64_pc > > tests/avocado/reverse_debugging.py:ReverseDebugging_AArch64.test_aarch64_virt > > tests were both broken by this. > > > > Fixes: da0bd744344adb1f285 ("block: Factor out > > bdrv_drain_all_begin_nopoll()") > > Signed-off-by: Peter Maydell <[email protected]> > > Tested-by: Fabiano Rosas <[email protected]>
Thanks; I've applied this to git since it unbreaks 'make check'. -- PMM
