qemu-patch-raspberry4/include/block
Fam Zheng e4654d2d94 block: per caller dirty bitmap
Previously a BlockDriverState has only one dirty bitmap, so only one
caller (e.g. a block job) can keep track of writing. This changes the
dirty bitmap to a list and creates a BdrvDirtyBitmap for each caller, the
lifecycle is managed with these new functions:

    bdrv_create_dirty_bitmap
    bdrv_release_dirty_bitmap

Where BdrvDirtyBitmap is a linked list wrapper structure of HBitmap.

In place of bdrv_set_dirty_tracking, a BdrvDirtyBitmap pointer argument
is added to these functions, since each caller has its own dirty bitmap:

    bdrv_get_dirty
    bdrv_dirty_iter_init
    bdrv_get_dirty_count

bdrv_set_dirty and bdrv_reset_dirty prototypes are unchanged but will
internally walk the list of all dirty bitmaps and set them one by one.

Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-11-29 13:40:33 +01:00
..
aio.h aio / timers: Add aio_timer_init & aio_timer_new wrappers 2013-08-22 19:10:28 +02:00
block.h block: per caller dirty bitmap 2013-11-29 13:40:33 +01:00
block_int.h block: per caller dirty bitmap 2013-11-29 13:40:33 +01:00
blockjob.h qapi: make use of new BlockJobType 2013-10-11 10:52:54 +02:00
coroutine.h coroutine: add co_aio_sleep_ns() to allow sleep in block drivers 2013-10-30 12:22:09 +01:00
coroutine_int.h coroutine: stop using AioContext in CoQueue 2013-05-24 16:17:56 +02:00
nbd.h nbd: support large NBD requests 2013-05-03 13:05:49 +02:00
qapi.h block/qapi: Human-readable ImageInfoSpecific dump 2013-10-11 10:52:54 +02:00
scsi.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
snapshot.h snapshot: distinguish id and name in snapshot delete 2013-09-12 10:12:47 +02:00
thread-pool.h threadpool: drop global thread pool 2013-03-15 16:07:51 +01:00