mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-10 02:54:58 -06:00
block: remove 'x' prefix from experimental bitmap APIs
The 'x' prefix was added because I was uncertain of the direction we'd take for the libvirt API. With the general approach solidified, I feel comfortable committing to this API for 4.0. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20181221093529.23855-5-jsnow@redhat.com> Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
360d4e4e9a
commit
0e2b7f0983
4 changed files with 36 additions and 36 deletions
22
blockdev.c
22
blockdev.c
|
@ -1963,7 +1963,7 @@ static void block_dirty_bitmap_add_prepare(BlkActionState *common,
|
||||||
action->has_granularity, action->granularity,
|
action->has_granularity, action->granularity,
|
||||||
action->has_persistent, action->persistent,
|
action->has_persistent, action->persistent,
|
||||||
action->has_autoload, action->autoload,
|
action->has_autoload, action->autoload,
|
||||||
action->has_x_disabled, action->x_disabled,
|
action->has_disabled, action->disabled,
|
||||||
&local_err);
|
&local_err);
|
||||||
|
|
||||||
if (!local_err) {
|
if (!local_err) {
|
||||||
|
@ -2048,7 +2048,7 @@ static void block_dirty_bitmap_enable_prepare(BlkActionState *common,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
action = common->action->u.x_block_dirty_bitmap_enable.data;
|
action = common->action->u.block_dirty_bitmap_enable.data;
|
||||||
state->bitmap = block_dirty_bitmap_lookup(action->node,
|
state->bitmap = block_dirty_bitmap_lookup(action->node,
|
||||||
action->name,
|
action->name,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -2089,7 +2089,7 @@ static void block_dirty_bitmap_disable_prepare(BlkActionState *common,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
action = common->action->u.x_block_dirty_bitmap_disable.data;
|
action = common->action->u.block_dirty_bitmap_disable.data;
|
||||||
state->bitmap = block_dirty_bitmap_lookup(action->node,
|
state->bitmap = block_dirty_bitmap_lookup(action->node,
|
||||||
action->name,
|
action->name,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -2136,7 +2136,7 @@ static void block_dirty_bitmap_merge_prepare(BlkActionState *common,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
action = common->action->u.x_block_dirty_bitmap_merge.data;
|
action = common->action->u.block_dirty_bitmap_merge.data;
|
||||||
|
|
||||||
state->bitmap = do_block_dirty_bitmap_merge(action->node, action->target,
|
state->bitmap = do_block_dirty_bitmap_merge(action->node, action->target,
|
||||||
action->bitmaps, &state->backup,
|
action->bitmaps, &state->backup,
|
||||||
|
@ -2204,17 +2204,17 @@ static const BlkActionOps actions[] = {
|
||||||
.commit = block_dirty_bitmap_free_backup,
|
.commit = block_dirty_bitmap_free_backup,
|
||||||
.abort = block_dirty_bitmap_restore,
|
.abort = block_dirty_bitmap_restore,
|
||||||
},
|
},
|
||||||
[TRANSACTION_ACTION_KIND_X_BLOCK_DIRTY_BITMAP_ENABLE] = {
|
[TRANSACTION_ACTION_KIND_BLOCK_DIRTY_BITMAP_ENABLE] = {
|
||||||
.instance_size = sizeof(BlockDirtyBitmapState),
|
.instance_size = sizeof(BlockDirtyBitmapState),
|
||||||
.prepare = block_dirty_bitmap_enable_prepare,
|
.prepare = block_dirty_bitmap_enable_prepare,
|
||||||
.abort = block_dirty_bitmap_enable_abort,
|
.abort = block_dirty_bitmap_enable_abort,
|
||||||
},
|
},
|
||||||
[TRANSACTION_ACTION_KIND_X_BLOCK_DIRTY_BITMAP_DISABLE] = {
|
[TRANSACTION_ACTION_KIND_BLOCK_DIRTY_BITMAP_DISABLE] = {
|
||||||
.instance_size = sizeof(BlockDirtyBitmapState),
|
.instance_size = sizeof(BlockDirtyBitmapState),
|
||||||
.prepare = block_dirty_bitmap_disable_prepare,
|
.prepare = block_dirty_bitmap_disable_prepare,
|
||||||
.abort = block_dirty_bitmap_disable_abort,
|
.abort = block_dirty_bitmap_disable_abort,
|
||||||
},
|
},
|
||||||
[TRANSACTION_ACTION_KIND_X_BLOCK_DIRTY_BITMAP_MERGE] = {
|
[TRANSACTION_ACTION_KIND_BLOCK_DIRTY_BITMAP_MERGE] = {
|
||||||
.instance_size = sizeof(BlockDirtyBitmapState),
|
.instance_size = sizeof(BlockDirtyBitmapState),
|
||||||
.prepare = block_dirty_bitmap_merge_prepare,
|
.prepare = block_dirty_bitmap_merge_prepare,
|
||||||
.commit = block_dirty_bitmap_free_backup,
|
.commit = block_dirty_bitmap_free_backup,
|
||||||
|
@ -2930,7 +2930,7 @@ void qmp_block_dirty_bitmap_clear(const char *node, const char *name,
|
||||||
bdrv_clear_dirty_bitmap(bitmap, NULL);
|
bdrv_clear_dirty_bitmap(bitmap, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void qmp_x_block_dirty_bitmap_enable(const char *node, const char *name,
|
void qmp_block_dirty_bitmap_enable(const char *node, const char *name,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
BlockDriverState *bs;
|
BlockDriverState *bs;
|
||||||
|
@ -2951,7 +2951,7 @@ void qmp_x_block_dirty_bitmap_enable(const char *node, const char *name,
|
||||||
bdrv_enable_dirty_bitmap(bitmap);
|
bdrv_enable_dirty_bitmap(bitmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
void qmp_x_block_dirty_bitmap_disable(const char *node, const char *name,
|
void qmp_block_dirty_bitmap_disable(const char *node, const char *name,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
BlockDriverState *bs;
|
BlockDriverState *bs;
|
||||||
|
@ -3018,8 +3018,8 @@ static BdrvDirtyBitmap *do_block_dirty_bitmap_merge(const char *node,
|
||||||
return dst;
|
return dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
void qmp_x_block_dirty_bitmap_merge(const char *node, const char *target,
|
void qmp_block_dirty_bitmap_merge(const char *node, const char *target,
|
||||||
strList *bitmaps, Error **errp)
|
strList *bitmaps, Error **errp)
|
||||||
{
|
{
|
||||||
do_block_dirty_bitmap_merge(node, target, bitmaps, NULL, errp);
|
do_block_dirty_bitmap_merge(node, target, bitmaps, NULL, errp);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1806,15 +1806,15 @@
|
||||||
# Currently, all dirty tracking bitmaps are loaded from Qcow2 on
|
# Currently, all dirty tracking bitmaps are loaded from Qcow2 on
|
||||||
# open.
|
# open.
|
||||||
#
|
#
|
||||||
# @x-disabled: the bitmap is created in the disabled state, which means that
|
# @disabled: the bitmap is created in the disabled state, which means that
|
||||||
# it will not track drive changes. The bitmap may be enabled with
|
# it will not track drive changes. The bitmap may be enabled with
|
||||||
# x-block-dirty-bitmap-enable. Default is false. (Since: 3.0)
|
# block-dirty-bitmap-enable. Default is false. (Since: 4.0)
|
||||||
#
|
#
|
||||||
# Since: 2.4
|
# Since: 2.4
|
||||||
##
|
##
|
||||||
{ 'struct': 'BlockDirtyBitmapAdd',
|
{ 'struct': 'BlockDirtyBitmapAdd',
|
||||||
'data': { 'node': 'str', 'name': 'str', '*granularity': 'uint32',
|
'data': { 'node': 'str', 'name': 'str', '*granularity': 'uint32',
|
||||||
'*persistent': 'bool', '*autoload': 'bool', '*x-disabled': 'bool' } }
|
'*persistent': 'bool', '*autoload': 'bool', '*disabled': 'bool' } }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @BlockDirtyBitmapMerge:
|
# @BlockDirtyBitmapMerge:
|
||||||
|
@ -1825,7 +1825,7 @@
|
||||||
#
|
#
|
||||||
# @bitmaps: name(s) of the source dirty bitmap(s)
|
# @bitmaps: name(s) of the source dirty bitmap(s)
|
||||||
#
|
#
|
||||||
# Since: 3.0
|
# Since: 4.0
|
||||||
##
|
##
|
||||||
{ 'struct': 'BlockDirtyBitmapMerge',
|
{ 'struct': 'BlockDirtyBitmapMerge',
|
||||||
'data': { 'node': 'str', 'target': 'str', 'bitmaps': ['str'] } }
|
'data': { 'node': 'str', 'target': 'str', 'bitmaps': ['str'] } }
|
||||||
|
@ -1899,7 +1899,7 @@
|
||||||
'data': 'BlockDirtyBitmap' }
|
'data': 'BlockDirtyBitmap' }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @x-block-dirty-bitmap-enable:
|
# @block-dirty-bitmap-enable:
|
||||||
#
|
#
|
||||||
# Enables a dirty bitmap so that it will begin tracking disk changes.
|
# Enables a dirty bitmap so that it will begin tracking disk changes.
|
||||||
#
|
#
|
||||||
|
@ -1907,20 +1907,20 @@
|
||||||
# If @node is not a valid block device, DeviceNotFound
|
# If @node is not a valid block device, DeviceNotFound
|
||||||
# If @name is not found, GenericError with an explanation
|
# If @name is not found, GenericError with an explanation
|
||||||
#
|
#
|
||||||
# Since: 3.0
|
# Since: 4.0
|
||||||
#
|
#
|
||||||
# Example:
|
# Example:
|
||||||
#
|
#
|
||||||
# -> { "execute": "x-block-dirty-bitmap-enable",
|
# -> { "execute": "block-dirty-bitmap-enable",
|
||||||
# "arguments": { "node": "drive0", "name": "bitmap0" } }
|
# "arguments": { "node": "drive0", "name": "bitmap0" } }
|
||||||
# <- { "return": {} }
|
# <- { "return": {} }
|
||||||
#
|
#
|
||||||
##
|
##
|
||||||
{ 'command': 'x-block-dirty-bitmap-enable',
|
{ 'command': 'block-dirty-bitmap-enable',
|
||||||
'data': 'BlockDirtyBitmap' }
|
'data': 'BlockDirtyBitmap' }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @x-block-dirty-bitmap-disable:
|
# @block-dirty-bitmap-disable:
|
||||||
#
|
#
|
||||||
# Disables a dirty bitmap so that it will stop tracking disk changes.
|
# Disables a dirty bitmap so that it will stop tracking disk changes.
|
||||||
#
|
#
|
||||||
|
@ -1928,20 +1928,20 @@
|
||||||
# If @node is not a valid block device, DeviceNotFound
|
# If @node is not a valid block device, DeviceNotFound
|
||||||
# If @name is not found, GenericError with an explanation
|
# If @name is not found, GenericError with an explanation
|
||||||
#
|
#
|
||||||
# Since: 3.0
|
# Since: 4.0
|
||||||
#
|
#
|
||||||
# Example:
|
# Example:
|
||||||
#
|
#
|
||||||
# -> { "execute": "x-block-dirty-bitmap-disable",
|
# -> { "execute": "block-dirty-bitmap-disable",
|
||||||
# "arguments": { "node": "drive0", "name": "bitmap0" } }
|
# "arguments": { "node": "drive0", "name": "bitmap0" } }
|
||||||
# <- { "return": {} }
|
# <- { "return": {} }
|
||||||
#
|
#
|
||||||
##
|
##
|
||||||
{ 'command': 'x-block-dirty-bitmap-disable',
|
{ 'command': 'block-dirty-bitmap-disable',
|
||||||
'data': 'BlockDirtyBitmap' }
|
'data': 'BlockDirtyBitmap' }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @x-block-dirty-bitmap-merge:
|
# @block-dirty-bitmap-merge:
|
||||||
#
|
#
|
||||||
# Merge dirty bitmaps listed in @bitmaps to the @target dirty bitmap.
|
# Merge dirty bitmaps listed in @bitmaps to the @target dirty bitmap.
|
||||||
# The @bitmaps dirty bitmaps are unchanged.
|
# The @bitmaps dirty bitmaps are unchanged.
|
||||||
|
@ -1953,17 +1953,17 @@
|
||||||
# If any of the bitmaps have different sizes or granularities,
|
# If any of the bitmaps have different sizes or granularities,
|
||||||
# GenericError
|
# GenericError
|
||||||
#
|
#
|
||||||
# Since: 3.0
|
# Since: 4.0
|
||||||
#
|
#
|
||||||
# Example:
|
# Example:
|
||||||
#
|
#
|
||||||
# -> { "execute": "x-block-dirty-bitmap-merge",
|
# -> { "execute": "block-dirty-bitmap-merge",
|
||||||
# "arguments": { "node": "drive0", "target": "bitmap0",
|
# "arguments": { "node": "drive0", "target": "bitmap0",
|
||||||
# "bitmaps": ["bitmap1"] } }
|
# "bitmaps": ["bitmap1"] } }
|
||||||
# <- { "return": {} }
|
# <- { "return": {} }
|
||||||
#
|
#
|
||||||
##
|
##
|
||||||
{ 'command': 'x-block-dirty-bitmap-merge',
|
{ 'command': 'block-dirty-bitmap-merge',
|
||||||
'data': 'BlockDirtyBitmapMerge' }
|
'data': 'BlockDirtyBitmapMerge' }
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
|
@ -46,9 +46,9 @@
|
||||||
# - @abort: since 1.6
|
# - @abort: since 1.6
|
||||||
# - @block-dirty-bitmap-add: since 2.5
|
# - @block-dirty-bitmap-add: since 2.5
|
||||||
# - @block-dirty-bitmap-clear: since 2.5
|
# - @block-dirty-bitmap-clear: since 2.5
|
||||||
# - @x-block-dirty-bitmap-enable: since 3.0
|
# - @block-dirty-bitmap-enable: since 4.0
|
||||||
# - @x-block-dirty-bitmap-disable: since 3.0
|
# - @block-dirty-bitmap-disable: since 4.0
|
||||||
# - @x-block-dirty-bitmap-merge: since 3.1
|
# - @block-dirty-bitmap-merge: since 4.0
|
||||||
# - @blockdev-backup: since 2.3
|
# - @blockdev-backup: since 2.3
|
||||||
# - @blockdev-snapshot: since 2.5
|
# - @blockdev-snapshot: since 2.5
|
||||||
# - @blockdev-snapshot-internal-sync: since 1.7
|
# - @blockdev-snapshot-internal-sync: since 1.7
|
||||||
|
@ -62,9 +62,9 @@
|
||||||
'abort': 'Abort',
|
'abort': 'Abort',
|
||||||
'block-dirty-bitmap-add': 'BlockDirtyBitmapAdd',
|
'block-dirty-bitmap-add': 'BlockDirtyBitmapAdd',
|
||||||
'block-dirty-bitmap-clear': 'BlockDirtyBitmap',
|
'block-dirty-bitmap-clear': 'BlockDirtyBitmap',
|
||||||
'x-block-dirty-bitmap-enable': 'BlockDirtyBitmap',
|
'block-dirty-bitmap-enable': 'BlockDirtyBitmap',
|
||||||
'x-block-dirty-bitmap-disable': 'BlockDirtyBitmap',
|
'block-dirty-bitmap-disable': 'BlockDirtyBitmap',
|
||||||
'x-block-dirty-bitmap-merge': 'BlockDirtyBitmapMerge',
|
'block-dirty-bitmap-merge': 'BlockDirtyBitmapMerge',
|
||||||
'blockdev-backup': 'BlockdevBackup',
|
'blockdev-backup': 'BlockdevBackup',
|
||||||
'blockdev-snapshot': 'BlockdevSnapshot',
|
'blockdev-snapshot': 'BlockdevSnapshot',
|
||||||
'blockdev-snapshot-internal-sync': 'BlockdevSnapshotInternal',
|
'blockdev-snapshot-internal-sync': 'BlockdevSnapshotInternal',
|
||||||
|
|
|
@ -112,9 +112,9 @@ _send_qemu_cmd $QEMU_HANDLE '{"execute":"qmp_capabilities"}' "return"
|
||||||
_send_qemu_cmd $QEMU_HANDLE '{"execute":"blockdev-add",
|
_send_qemu_cmd $QEMU_HANDLE '{"execute":"blockdev-add",
|
||||||
"arguments":{"driver":"qcow2", "node-name":"n",
|
"arguments":{"driver":"qcow2", "node-name":"n",
|
||||||
"file":{"driver":"file", "filename":"'"$TEST_IMG"'"}}}' "return"
|
"file":{"driver":"file", "filename":"'"$TEST_IMG"'"}}}' "return"
|
||||||
_send_qemu_cmd $QEMU_HANDLE '{"execute":"x-block-dirty-bitmap-disable",
|
_send_qemu_cmd $QEMU_HANDLE '{"execute":"block-dirty-bitmap-disable",
|
||||||
"arguments":{"node":"n", "name":"b"}}' "return"
|
"arguments":{"node":"n", "name":"b"}}' "return"
|
||||||
_send_qemu_cmd $QEMU_HANDLE '{"execute":"x-block-dirty-bitmap-disable",
|
_send_qemu_cmd $QEMU_HANDLE '{"execute":"block-dirty-bitmap-disable",
|
||||||
"arguments":{"node":"n", "name":"b2"}}' "return"
|
"arguments":{"node":"n", "name":"b2"}}' "return"
|
||||||
_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-start",
|
_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-start",
|
||||||
"arguments":{"addr":{"type":"unix",
|
"arguments":{"addr":{"type":"unix",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue