qemu-e2k/block
Pavel Dovgalyuk 63785678f3 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>
2016-03-30 12:15:57 +02:00
..
Makefile.objs replay: introduce block devices record/replay 2016-03-30 12:15:57 +02:00
accounting.c block: Clean up includes 2016-01-20 13:36:23 +01:00
archipelago.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
backup.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
blkdebug.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
blkreplay.c replay: introduce block devices record/replay 2016-03-30 12:15:57 +02:00
blkverify.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
block-backend.c block: Remove blk_set_bs() 2016-03-30 11:59:32 +02:00
bochs.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
cloop.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
commit.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
crypto.c block: add generic full disk encryption driver 2016-03-30 12:11:26 +02:00
curl.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
dirty-bitmap.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
dmg.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
gluster.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
io.c block: add flush callback 2016-03-30 12:12:15 +02:00
iscsi.c iscsi: add support for getting CHAP password via QCryptoSecret API 2016-02-29 14:54:31 -05:00
linux-aio.c block: Clean up includes 2016-01-20 13:36:23 +01:00
mirror.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
nbd-client.c nbd: enable use of TLS with NBD block driver 2016-02-16 17:16:33 +01:00
nbd-client.h nbd: enable use of TLS with NBD block driver 2016-02-16 17:16:33 +01:00
nbd.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
nfs.c block/nfs: add support for setting debug level 2016-02-29 14:54:30 -05:00
null.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
parallels.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
qapi.c block/qapi: Pass bdrv_query_blk_stats() s->stats 2016-03-30 11:59:32 +02:00
qcow.c block: move encryption deprecation warning into qcow code 2016-03-30 12:12:15 +02:00
qcow2-cache.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2-cluster.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
qcow2-refcount.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
qcow2-snapshot.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
qcow2.c block: move encryption deprecation warning into qcow code 2016-03-30 12:12:15 +02:00
qcow2.h qcow2: Add function for refcount order amendment 2015-12-18 14:34:43 +01:00
qed-check.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-cluster.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-gencb.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-l2-cache.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-table.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
qed.h util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
quorum.c quorum: Emit QUORUM_REPORT_BAD for reads in fifo mode 2016-03-17 16:43:30 +01:00
raw-aio.h include/qemu/iov.h: Don't include qemu-common.h 2016-03-22 22:20:16 +01:00
raw-posix.c block/raw-posix.c: Make physical devices usable in QEMU under Mac OS X host 2016-03-30 11:59:32 +02:00
raw-win32.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
raw_bsd.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
rbd.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
sheepdog.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
snapshot.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
ssh.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
stream.c -----BEGIN PGP SIGNATURE----- 2016-03-29 19:54:49 +01:00
throttle-groups.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vdi.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
vhdx-endian.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vhdx-log.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
vhdx.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
vhdx.h block: vhdx - update PAYLOAD_BLOCK_UNMAPPED value to match 1.00 spec 2014-12-12 15:42:22 +00:00
vmdk.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
vpc.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
vvfat.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
win32-aio.c block: Clean up includes 2016-01-20 13:36:23 +01:00
write-threshold.c block: Clean up includes 2016-01-20 13:36:23 +01:00