[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] block/io: Check for replay-enabled in bdrv_drain_all_begin()
From: |
Fabiano Rosas |
Subject: |
Re: [PATCH] block/io: Check for replay-enabled in bdrv_drain_all_begin() |
Date: |
Tue, 20 Dec 2022 15:45:59 -0300 |
Peter Maydell <peter.maydell@linaro.org> 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 <peter.maydell@linaro.org>
Tested-by: Fabiano Rosas <farosas@suse.de>