mirror of https://github.com/xqemu/xqemu.git
block/dirty-bitmap: add inconsistent status
Even though the status field is deprecated, we still have to support it for a few more releases. Since this is a very new kind of bitmap state, it makes sense for it to have its own status field. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-id: 20190301191545.8728-3-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
b0f455599d
commit
0064cfefa4
|
@ -210,10 +210,15 @@ bool bdrv_dirty_bitmap_enabled(BdrvDirtyBitmap *bitmap)
|
||||||
* or it can be Disabled and not recording writes.
|
* or it can be Disabled and not recording writes.
|
||||||
* (4) Locked: Whether Active or Disabled, the user cannot modify this bitmap
|
* (4) Locked: Whether Active or Disabled, the user cannot modify this bitmap
|
||||||
* in any way from the monitor.
|
* in any way from the monitor.
|
||||||
|
* (5) Inconsistent: This is a persistent bitmap whose "in use" bit is set, and
|
||||||
|
* is unusable by QEMU. It can be deleted to remove it from
|
||||||
|
* the qcow2.
|
||||||
*/
|
*/
|
||||||
DirtyBitmapStatus bdrv_dirty_bitmap_status(BdrvDirtyBitmap *bitmap)
|
DirtyBitmapStatus bdrv_dirty_bitmap_status(BdrvDirtyBitmap *bitmap)
|
||||||
{
|
{
|
||||||
if (bdrv_dirty_bitmap_has_successor(bitmap)) {
|
if (bdrv_dirty_bitmap_inconsistent(bitmap)) {
|
||||||
|
return DIRTY_BITMAP_STATUS_INCONSISTENT;
|
||||||
|
} else if (bdrv_dirty_bitmap_has_successor(bitmap)) {
|
||||||
return DIRTY_BITMAP_STATUS_FROZEN;
|
return DIRTY_BITMAP_STATUS_FROZEN;
|
||||||
} else if (bdrv_dirty_bitmap_busy(bitmap)) {
|
} else if (bdrv_dirty_bitmap_busy(bitmap)) {
|
||||||
return DIRTY_BITMAP_STATUS_LOCKED;
|
return DIRTY_BITMAP_STATUS_LOCKED;
|
||||||
|
|
|
@ -451,10 +451,15 @@
|
||||||
# recording new writes. If the bitmap was @disabled, it is not
|
# recording new writes. If the bitmap was @disabled, it is not
|
||||||
# recording new writes. (Since 2.12)
|
# recording new writes. (Since 2.12)
|
||||||
#
|
#
|
||||||
|
# @inconsistent: This is a persistent dirty bitmap that was marked in-use on
|
||||||
|
# disk, and is unusable by QEMU. It can only be deleted.
|
||||||
|
# Please rely on the inconsistent field in @BlockDirtyInfo
|
||||||
|
# instead, as the status field is deprecated. (Since 4.0)
|
||||||
|
#
|
||||||
# Since: 2.4
|
# Since: 2.4
|
||||||
##
|
##
|
||||||
{ 'enum': 'DirtyBitmapStatus',
|
{ 'enum': 'DirtyBitmapStatus',
|
||||||
'data': ['active', 'disabled', 'frozen', 'locked'] }
|
'data': ['active', 'disabled', 'frozen', 'locked', 'inconsistent'] }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @BlockDirtyInfo:
|
# @BlockDirtyInfo:
|
||||||
|
|
Loading…
Reference in New Issue