mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 11:39:53 +00:00
dirty-bitmap: Expose persistent flag to 'query-block'
Since qemu currently doesn't flush persistent bitmaps to disk until shutdown (which might be MUCH later), it's useful if 'query-block' at least shows WHICH bitmaps will (eventually) make it to persistent storage. Update affected iotests. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 20190204210512.27458-1-eblake@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
2e68b86206
commit
f67cf661f8
@ -440,6 +440,7 @@ BlockDirtyInfoList *bdrv_query_dirty_bitmaps(BlockDriverState *bs)
|
||||
info->has_name = !!bm->name;
|
||||
info->name = g_strdup(bm->name);
|
||||
info->status = bdrv_dirty_bitmap_status(bm);
|
||||
info->persistent = bm->persistent;
|
||||
entry->value = info;
|
||||
*plist = entry;
|
||||
plist = &entry->next;
|
||||
|
@ -450,11 +450,14 @@
|
||||
#
|
||||
# @status: current status of the dirty bitmap (since 2.4)
|
||||
#
|
||||
# @persistent: true if the bitmap will eventually be flushed to persistent
|
||||
# storage (since 4.0)
|
||||
#
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'struct': 'BlockDirtyInfo',
|
||||
'data': {'*name': 'str', 'count': 'int', 'granularity': 'uint32',
|
||||
'status': 'DirtyBitmapStatus'} }
|
||||
'status': 'DirtyBitmapStatus', 'persistent': 'bool' } }
|
||||
|
||||
##
|
||||
# @Qcow2BitmapInfoFlags:
|
||||
|
@ -350,6 +350,7 @@ class TestIncrementalBackup(TestIncrementalBackupBase):
|
||||
self.assert_qmp(result, 'return[0]/dirty-bitmaps[0]/count', 458752)
|
||||
self.assert_qmp(result, 'return[0]/dirty-bitmaps[0]/granularity', 65536)
|
||||
self.assert_qmp(result, 'return[0]/dirty-bitmaps[0]/status', 'active')
|
||||
self.assert_qmp(result, 'return[0]/dirty-bitmaps[0]/persistent', False)
|
||||
|
||||
# Prepare a cluster_size=128k backup target without a backing file.
|
||||
(target, _) = bitmap0.new_target()
|
||||
|
@ -25,12 +25,14 @@ write -P0xcd 0x3ff0000 64k
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"persistent": false,
|
||||
"status": "active"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"persistent": false,
|
||||
"status": "active"
|
||||
}
|
||||
]
|
||||
@ -85,12 +87,14 @@ write -P0xcd 0x3ff0000 64k
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"persistent": false,
|
||||
"status": "active"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"persistent": false,
|
||||
"status": "active"
|
||||
}
|
||||
]
|
||||
@ -183,18 +187,21 @@ write -P0xea 0x3fe0000 64k
|
||||
"count": 393216,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapC",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 458752,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
}
|
||||
]
|
||||
@ -247,18 +254,21 @@ write -P0xea 0x3fe0000 64k
|
||||
"count": 393216,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapC",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 458752,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
}
|
||||
]
|
||||
@ -304,24 +314,28 @@ write -P0xea 0x3fe0000 64k
|
||||
"count": 458752,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapD",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 393216,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapC",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 458752,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"persistent": false,
|
||||
"status": "disabled"
|
||||
}
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user