Fam Zheng <f...@redhat.com> 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 <f...@redhat.com> >> > > >> > > > 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?