qapi: add support for blkreplay driver

This patch adds support for blkreplay driver to the blockdev options.
Now blkreplay can be used with -blockdev command line option
in the following format:
-blockdev driver=blkreplay,image=file-node-name,node-name=replay-node-name

This option makes possible implementation of the better command
line support for record/replay invocations.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Pavel Dovgalyuk 2019-10-16 11:40:39 +03:00 committed by Kevin Wolf
parent 7bc8f97342
commit 35e32d9e2e

View File

@ -2883,12 +2883,13 @@
# @nvme: Since 2.12 # @nvme: Since 2.12
# @copy-on-read: Since 3.0 # @copy-on-read: Since 3.0
# @blklogwrites: Since 3.0 # @blklogwrites: Since 3.0
# @blkreplay: Since 4.2
# #
# Since: 2.9 # Since: 2.9
## ##
{ 'enum': 'BlockdevDriver', { 'enum': 'BlockdevDriver',
'data': [ 'blkdebug', 'blklogwrites', 'blkverify', 'bochs', 'cloop', 'data': [ 'blkdebug', 'blklogwrites', 'blkreplay', 'blkverify', 'bochs',
'copy-on-read', 'dmg', 'file', 'ftp', 'ftps', 'gluster', 'cloop', 'copy-on-read', 'dmg', 'file', 'ftp', 'ftps', 'gluster',
'host_cdrom', 'host_device', 'http', 'https', 'iscsi', 'luks', 'host_cdrom', 'host_device', 'http', 'https', 'iscsi', 'luks',
'nbd', 'nfs', 'null-aio', 'null-co', 'nvme', 'parallels', 'qcow', 'nbd', 'nfs', 'null-aio', 'null-co', 'nvme', 'parallels', 'qcow',
'qcow2', 'qed', 'quorum', 'raw', 'rbd', 'qcow2', 'qed', 'quorum', 'raw', 'rbd',
@ -3501,6 +3502,18 @@
'data': { 'test': 'BlockdevRef', 'data': { 'test': 'BlockdevRef',
'raw': 'BlockdevRef' } } 'raw': 'BlockdevRef' } }
##
# @BlockdevOptionsBlkreplay:
#
# Driver specific block device options for blkreplay.
#
# @image: disk image which should be controlled with blkreplay
#
# Since: 4.2
##
{ 'struct': 'BlockdevOptionsBlkreplay',
'data': { 'image': 'BlockdevRef' } }
## ##
# @QuorumReadPattern: # @QuorumReadPattern:
# #
@ -4028,6 +4041,7 @@
'blkdebug': 'BlockdevOptionsBlkdebug', 'blkdebug': 'BlockdevOptionsBlkdebug',
'blklogwrites':'BlockdevOptionsBlklogwrites', 'blklogwrites':'BlockdevOptionsBlklogwrites',
'blkverify': 'BlockdevOptionsBlkverify', 'blkverify': 'BlockdevOptionsBlkverify',
'blkreplay': 'BlockdevOptionsBlkreplay',
'bochs': 'BlockdevOptionsGenericFormat', 'bochs': 'BlockdevOptionsGenericFormat',
'cloop': 'BlockdevOptionsGenericFormat', 'cloop': 'BlockdevOptionsGenericFormat',
'copy-on-read':'BlockdevOptionsGenericFormat', 'copy-on-read':'BlockdevOptionsGenericFormat',