qemu-devel
[Top][All Lists]
Advanced

[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?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]