qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 639457: block/io: Check for replay-enabled in


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 639457: block/io: Check for replay-enabled in bdrv_drain_a...
Date: Wed, 21 Dec 2022 04:43:53 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 6394578984da00564d6a3515940732ff9b83cd10
      
https://github.com/qemu/qemu/commit/6394578984da00564d6a3515940732ff9b83cd10
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-12-21 (Wed, 21 Dec 2022)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]