Vladimir Sementsov-Ogievskiy <[email protected]> writes:
> Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
> Reviewed-by: Max Reitz <[email protected]>
> ---
> qapi/block-core.json | 25 +++++++++++++++++++++++--
> 1 file changed, 23 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 675d8265eb..59d3e5e42d 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -2825,13 +2825,14 @@
> # @blklogwrites: Since 3.0
> # @blkreplay: Since 4.2
> # @compress: Since 5.0
> +# @copy-before-write: Since 6.1
> #
> # Since: 2.9
> ##
> { 'enum': 'BlockdevDriver',
> 'data': [ 'blkdebug', 'blklogwrites', 'blkreplay', 'blkverify', 'bochs',
> - 'cloop', 'compress', 'copy-on-read', 'dmg', 'file', 'ftp',
> 'ftps',
> - 'gluster',
> + 'cloop', 'compress', 'copy-before-write', 'copy-on-read', 'dmg',
> + 'file', 'ftp', 'ftps', 'gluster',
> {'name': 'host_cdrom', 'if': 'defined(HAVE_HOST_BLOCK_DEVICE)' },
> {'name': 'host_device', 'if': 'defined(HAVE_HOST_BLOCK_DEVICE)'
> },
> 'http', 'https', 'iscsi',
> @@ -4049,6 +4050,25 @@
> 'base': 'BlockdevOptionsGenericFormat',
> 'data': { '*bottom': 'str' } }
>
> +##
> +# @BlockdevOptionsCbw:
> +#
> +# Driver specific block device options for the copy-before-write driver,
> +# which does so called copy-before-write operations: when data is
> +# written to the filter, the filter firstly reads corresponding blocks
s/firstly/first/
> +# from its file child and copies them to @target child. After successful
s/successful/successfully/
> +# copying the write request is propagated to file child. If copying
Comma after copying, I think.
> +# failed, the original write request is failed too and no data is written
s/failed,/fails,/
> +# to file child.
> +#
> +# @target: The target for copy-before-write operations.
> +#
> +# Since: 6.1
> +##
> +{ 'struct': 'BlockdevOptionsCbw',
> + 'base': 'BlockdevOptionsGenericFormat',
> + 'data': { 'target': 'BlockdevRef' } }
> +
> ##
> # @BlockdevOptions:
> #
> @@ -4101,6 +4121,7 @@
> 'bochs': 'BlockdevOptionsGenericFormat',
> 'cloop': 'BlockdevOptionsGenericFormat',
> 'compress': 'BlockdevOptionsGenericFormat',
> + 'copy-before-write':'BlockdevOptionsCbw',
> 'copy-on-read':'BlockdevOptionsCor',
> 'dmg': 'BlockdevOptionsGenericFormat',
> 'file': 'BlockdevOptionsFile',
With the doc phrasing tweaks duly considered:
Acked-by: Markus Armbruster <[email protected]>