[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] qmp: Add command 'blockdev-backup'
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] qmp: Add command 'blockdev-backup' |
Date: |
Tue, 04 Nov 2014 07:47:37 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Fam Zheng <address@hidden> writes:
> On Mon, 11/03 15:32, Kevin Wolf wrote:
>> Am 03.11.2014 um 02:46 hat Fam Zheng geschrieben:
>> > On Fri, 10/31 10:01, Kevin Wolf wrote:
>> > > Am 11.09.2014 um 07:05 hat Fam Zheng geschrieben:
>> > > > Similar to drive-backup, but this command uses a device id as target
>> > > > instead of creating/opening an image file.
>> > > >
>> > > > Also add blocker on target bs, since the target is also a named device
>> > > > now.
>> > > >
>> > > > Add check and report error for bs == target which became possible but
>> > > > is
>> > > > an illegal case with introduction of blockdev-backup.
>> > > >
>> > > > Signed-off-by: Fam Zheng <address@hidden>
>> > >
>> > > > diff --git a/qapi/block-core.json b/qapi/block-core.json
>> > > > index a685d02..b953c7b 100644
>> > > > --- a/qapi/block-core.json
>> > > > +++ b/qapi/block-core.json
>> > > > @@ -669,6 +669,40 @@
>> > > > '*on-target-error': 'BlockdevOnError' } }
>> > > >
>> > > > ##
>> > > > +# @BlockdevBackup
>> > > > +#
>> > > > +# @device: the name of the device which should be copied.
>> > > > +#
>> > > > +# @target: the name of the backup target device.
>> > >
>> > > Both of these are either a BlockBackend ID or a BDS node-name, right? Do
>> > > we have a standard way of expressing this? "name of the device" isn't
>> > > quite clear.
>> >
>> > "name of the device" is used everywhere to document the "device"
>> > parameters in
>> > our json schema. Since we have BlockBackend now, device-name and node-name
>> > could be better distinguished. All we have to do is giving a
>> > beautiful name to
>> > both.
>> >
>> > [This patch is only a copy&paste and is consistent with the rest part of
>> > the
>> > file. So I'll leave it for now :]
>>
>> The rest of the file doesn't accept node names. But looking at your
>> actual code, it seems that you are doing the same (by usign bdrv_find()
>> instead of bdrv_lookup_bs()).
>
> Yes, to be consistent with drive-backup.
>
>>
>> Shouldn't a proper blockdev-* command accept node names as well?
>>
>
> I am not sure, it's still blockdev-backup, not blocknode-backup.
>
> I think that may be another thing, to changed drive-*'s @device parameter, and
> blockdev-*'s @device and @target to accept node names, altogether.
We have many commands identifying nodes by some name: root nodes by BDS
device_name[] (now BB name), inner nodes by "file name" (ugh), and
arbitrary nodes by BDS name_name[].
An obvious task is deprecating "file name" in favor of node names.
Less obvious is where to accept a node name instead of / in addition to
a device name.
Want me to start a thread on this?