Commit 590a63d5 authored by Vladimir Sementsov-Ogievskiy's avatar Vladimir Sementsov-Ogievskiy Committed by John Snow
Browse files

qapi: add dirty-bitmaps to query-named-block-nodes result



Let's add a possibility to query dirty-bitmaps not only on root nodes.
It is useful when dealing both with snapshots and incremental backups.

Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
Message-id: 20190717173937.18747-1-jsnow@redhat.com
[Added deprecation information. --js]
Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
[Fixed spelling --js]
parent bd5ceebf
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -79,6 +79,11 @@ BlockDeviceInfo *bdrv_block_device_info(BlockBackend *blk,
        info->backing_file = g_strdup(bs->backing_file);
    }

    if (!QLIST_EMPTY(&bs->dirty_bitmaps)) {
        info->has_dirty_bitmaps = true;
        info->dirty_bitmaps = bdrv_query_dirty_bitmaps(bs);
    }

    info->detect_zeroes = bs->detect_zeroes;

    if (blk && blk_get_public(blk)->throttle_group_member.throttle_state) {
+5 −1
Original line number Diff line number Diff line
@@ -360,6 +360,9 @@
# @write_threshold: configured write threshold for the device.
#                   0 if disabled. (Since 2.3)
#
# @dirty-bitmaps: dirty bitmaps information (only present if node
#                 has one or more dirty bitmaps) (Since 4.2)
#
# Since: 0.14.0
#
##
@@ -378,7 +381,7 @@
            '*bps_wr_max_length': 'int', '*iops_max_length': 'int',
            '*iops_rd_max_length': 'int', '*iops_wr_max_length': 'int',
            '*iops_size': 'int', '*group': 'str', 'cache': 'BlockdevCacheInfo',
            'write_threshold': 'int' } }
            'write_threshold': 'int', '*dirty-bitmaps': ['BlockDirtyInfo'] } }

##
# @BlockDeviceIoStatus:
@@ -656,6 +659,7 @@
#
# @dirty-bitmaps: dirty bitmaps information (only present if the
#                 driver has one or more dirty bitmaps) (Since 2.0)
#                 Deprecated in 4.2; see BlockDeviceInfo instead.
#
# @io-status: @BlockDeviceIoStatus. Only present if the device
#             supports it and the VM is configured to stop on errors
+12 −0
Original line number Diff line number Diff line
@@ -154,6 +154,18 @@ The ``status'' field of the ``BlockDirtyInfo'' structure, returned by
the query-block command is deprecated. Two new boolean fields,
``recording'' and ``busy'' effectively replace it.

@subsection query-block result field dirty-bitmaps (Since 4.2)

The ``dirty-bitmaps`` field of the ``BlockInfo`` structure, returned by
the query-block command is itself now deprecated. The ``dirty-bitmaps``
field of the ``BlockDeviceInfo`` struct should be used instead, which is the
type of the ``inserted`` field in query-block replies, as well as the
type of array items in query-named-block-nodes.

Since the ``dirty-bitmaps`` field is optionally present in both the old and
new locations, clients must use introspection to learn where to anticipate
the field if/when it does appear in command output.

@subsection query-cpus (since 2.12.0)

The ``query-cpus'' command is replaced by the ``query-cpus-fast'' command.