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>
This commit is contained in:
Pavel Dovgalyuk 2019-09-17 14:58:19 +03:00 committed by Kevin Wolf
parent ae25dccb7d
commit e4ec5ad464
13 changed files with 59 additions and 16 deletions

9
stubs/replay-user.c Normal file
View file

@ -0,0 +1,9 @@
#include "qemu/osdep.h"
#include "sysemu/replay.h"
#include "sysemu/sysemu.h"
void replay_bh_schedule_oneshot_event(AioContext *ctx,
QEMUBHFunc *cb, void *opaque)
{
aio_bh_schedule_oneshot(ctx, cb, opaque);
}