aboutsummaryrefslogtreecommitdiff
path: root/replay/replay-internal.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2022-12-20 17:46:38 +0000
committerPeter Maydell <peter.maydell@linaro.org>2022-12-21 12:38:17 +0000
commit6394578984da00564d6a3515940732ff9b83cd10 (patch)
treed4ede5a1499afadff5be1547328cb7c785251e7d /replay/replay-internal.c
parent67de3d090d0b62d779fa497e708859b5ec1b791d (diff)
downloadqemu-6394578984da00564d6a3515940732ff9b83cd10.zip
qemu-6394578984da00564d6a3515940732ff9b83cd10.tar.gz
qemu-6394578984da00564d6a3515940732ff9b83cd10.tar.bz2
block/io: Check for replay-enabled in bdrv_drain_all_begin()
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> Message-id: 20221220174638.2156308-1-peter.maydell@linaro.org
Diffstat (limited to 'replay/replay-internal.c')
0 files changed, 0 insertions, 0 deletions