replay: introduce block devices record/replay
authorPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Mon, 14 Mar 2016 07:45:10 +0000 (10:45 +0300)
committerKevin Wolf <kwolf@redhat.com>
Wed, 30 Mar 2016 10:15:57 +0000 (12:15 +0200)
commit63785678f3941c84be01d3ab7867e2742ea9fe3e
tree789d6d22b463e23ea5737ce9036c8160eccfab1a
parent95b4aed5fd0bec00e2c3f754c86fec5ba7a83a20
replay: introduce block devices record/replay

This patch introduces block driver that implement recording
and replaying of block devices' operations.
All block completion operations are added to the queue.
Queue is flushed at checkpoints and information about processed requests
is recorded to the log. In replay phase the queue is matched with
events read from the log. Therefore block devices requests are processed
deterministically.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
[ kwolf: Rebased onto modified and already applied part of the series ]
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/Makefile.objs
block/blkreplay.c [new file with mode: 0755]
docs/replay.txt
include/sysemu/replay.h
replay/replay-events.c
replay/replay-internal.h
replay/replay.c
stubs/replay.c