Am 28.09.2015 um 05:29 hat Jeff Cody geschrieben: > This allows the creation of detached dirty bitmaps, so that the > block driver dirty bitmaps can be used without inserting the > bitmap into the dirty bitmap list for a BDS. > > To free a bitmap that was created "detached = true", call > bdrv_release_dirty_bitmap() with the BlockDriverState argument > as NULL. > > Signed-off-by: Jeff Cody <jc...@redhat.com>
It this really still a proper dirty bitmap? After all, bdrv_set_dirty() doesn't affect the bitmap any more, query-block doesn't mention them etc. What is the advantage of using the dirty bitmap infrastructure instead of just using a plain bitmap without the "dirty" part? Also, the bitmap is still made for a specific BDS, especially with regards to its size. For dirty bitmaps, bdrv_truncate() calls bdrv_dirty_bitmap_truncate() in order to resize the bitmaps as well. This mechanism doesn't work any more if the bitmap isn't in the dirty bitmaps list. Do we need something like an op blocker? Though I'm not sure if an operation as basic as bdrv_truncate() can be reasonably blocked at all. Maybe we can only block the QMP resize command. Kevin