summaryrefslogtreecommitdiffstats
path: root/include/sysemu/replay.h
diff options
context:
space:
mode:
authorPavel Dovgalyuk2019-09-17 13:58:19 +0200
committerKevin Wolf2019-10-14 17:12:48 +0200
commite4ec5ad464e48ab8d978b4dd8aacd05c1c4a87cc (patch)
treefb5bb4af2ee8c376cb3a237c46604a283514e208 /include/sysemu/replay.h
parentreplay: finish record/replay before closing the disks (diff)
downloadqemu-e4ec5ad464e48ab8d978b4dd8aacd05c1c4a87cc.tar.gz
qemu-e4ec5ad464e48ab8d978b4dd8aacd05c1c4a87cc.tar.xz
qemu-e4ec5ad464e48ab8d978b4dd8aacd05c1c4a87cc.zip
replay: add BH oneshot event for block layer
Replay is capable of recording normal BH events, but sometimes there are single use callbacks scheduled with aio_bh_schedule_oneshot function. This patch enables recording and replaying such callbacks. Block layer uses these events for calling the completion function. Replaying these calls makes the execution deterministic. Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru> Acked-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'include/sysemu/replay.h')
-rw-r--r--include/sysemu/replay.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h
index dfc7a31c66..8df517298c 100644
--- a/include/sysemu/replay.h
+++ b/include/sysemu/replay.h
@@ -15,6 +15,7 @@
#include "qapi/qapi-types-misc.h"
#include "qapi/qapi-types-run-state.h"
#include "qapi/qapi-types-ui.h"
+#include "block/aio.h"
/* replay clock kinds */
enum ReplayClockKind {
@@ -140,6 +141,9 @@ void replay_enable_events(void);
bool replay_events_enabled(void);
/*! Adds bottom half event to the queue */
void replay_bh_schedule_event(QEMUBH *bh);
+/* Adds oneshot bottom half event to the queue */
+void replay_bh_schedule_oneshot_event(AioContext *ctx,
+ QEMUBHFunc *cb, void *opaque);
/*! Adds input event to the queue */
void replay_input_event(QemuConsole *src, InputEvent *evt);
/*! Adds input sync event to the queue */