[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming
From: |
Alberto Garcia |
Subject: |
Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer |
Date: |
Wed, 12 Oct 2016 11:25:49 +0200 |
User-agent: |
Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) |
On Tue 11 Oct 2016 06:50:27 PM CEST, Markus Armbruster wrote:
> * Is the extended command still a sane interface? If writing clear
> documentation for it is hard, it perhaps isn't. Pay special
> attention to failure modes. Overloaded arguments are prone to
> confusing errors.
This is what the current command looks like:
{ 'command': 'block-stream',
'data': { '*job-id': 'str', 'device': 'str', '*base': 'str',
'*backing-file': 'str', '*speed': 'int',
'*on-error': 'BlockdevOnError' } }
If we decide to add a new command, this is what it could look like:
{ 'command': 'blockdev-stream',
'data': { '*job-id': 'str', 'top': 'str', '*base': 'str',
'*backing-file': 'str', '*speed': 'int',
'*on-error': 'BlockdevOnError' } }
If we decide to extend the existing command, there's essentially two
changes that we have to do:
1) 'device' refers to a device name, it should refer to (or allow) a
node name. This is trivial to do, the only problem is that the name
of the parameter is not the best.
2) 'base' takes a file name, but we should have a way to pass a node
name instead. Overloading here is not an option, we need a new
parameter ('base-node' or something like that). 'base' and
'base-node' would be optional but mutually exclusive.
{ 'command': 'block-stream',
'data': { '*job-id': 'str', 'device': 'str', '*base': 'str',
'*base-node': 'str', '*backing-file': 'str',
'*speed': 'int', '*on-error': 'BlockdevOnError' } }
Considering that a new command would be very similar to the original one
(the only problems being an ill-named parameter and an obsolete one), I
actually don't think that extending the current command is such a bad
idea. But I don't have a strong opinion.
Berto
- [Qemu-devel] [PATCH v10 00/16] Support streaming to an intermediate layer, Alberto Garcia, 2016/10/06
- [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Alberto Garcia, 2016/10/06
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Eric Blake, 2016/10/10
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Alberto Garcia, 2016/10/11
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Kevin Wolf, 2016/10/11
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Eric Blake, 2016/10/11
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Markus Armbruster, 2016/10/11
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Kevin Wolf, 2016/10/12
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer,
Alberto Garcia <=
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Markus Armbruster, 2016/10/11
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Alberto Garcia, 2016/10/12
- Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Markus Armbruster, 2016/10/12
Re: [Qemu-devel] [PATCH v10 09/16] block: Add QMP support for streaming to an intermediate layer, Kevin Wolf, 2016/10/12
[Qemu-devel] [PATCH v10 06/16] block: Block all nodes involved in the block-commit operation, Alberto Garcia, 2016/10/06
[Qemu-devel] [PATCH v10 07/16] block: Block all intermediate nodes in commit_active_start(), Alberto Garcia, 2016/10/06
[Qemu-devel] [PATCH v10 02/16] block: Add block_job_add_bdrv(), Alberto Garcia, 2016/10/06