qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 1/2] block: allow blockdev-backup from any so


From: Kashyap Chamarthy
Subject: Re: [Qemu-devel] [PATCH v2 1/2] block: allow blockdev-backup from any source
Date: Mon, 2 Jul 2018 09:59:39 +0200
User-agent: Mutt/1.9.2 (2017-12-15)

On Thu, Jun 28, 2018 at 05:19:37PM -0400, John Snow wrote:
> 
> 
> On 06/28/2018 02:05 PM, Eric Blake wrote:
> > On 06/28/2018 01:00 PM, John Snow wrote:
> >> In the case of image fleecing, the node we choose as the source
> >> for a blockdev-backup is going to be both a root node AND the
> >> backing node for the exported image. It does not qualify as a root
> >> image in this case.
> >>
> >> Loosen the restriction.
> >>
> >> Signed-off-by: John Snow <address@hidden>
> >> ---
> >>   blockdev.c | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > In v1, you mentioned that this used to work but then regressed,
> > pinpointing that detail in the commit message might be nice, but not
> > essential (since we didn't test it until now).  So,
> > 
> 
> Really not sure when it regressed; I consider it unimportant as nothing
> uses it presently: no docs, no tests, nothing in libvirt.
> 
> My guess, though, is that it worked prior to
> cef34eebf3d0f252a3b3e9a2a459b6c3ecc56f68.

So the above commit adds the ability to assign node names for
`blockdev-backup`, which wasn't possible during 2.8 timeframe.

> In 2.8, possibly?
> 
> Kashyap might know, I think he's experimented with this sometime in that
> timezone.

I don't recall doing the "allow blockdev-backup from any source" test
with 2.8.  (But I recall gradually moving from figuring out the source
block device via wading through the output of `query-named-block-nodes`
to using the 'node-name'.)

Looking at my test notes with QEMU 2.8, this was my
workflow (see how `blockdev-backup` still doesn't use 'node-name's):

(QEMU) blockdev-add driver=qcow2 node-name=node2 
file={"driver":"file","filename":"/export/target.qcow2"} 
backing={"driver":"qcow2","file":{"driver":"file","filename":"/export/base.qcow2"}}
(QEMU) query-named-block-nodes # To dig through the source block device 
"#blockYYY"
(QEMU) blockdev-backup device=#block197 target=node1 sync=none
(QEMU) nbd-server-start addr={"type":"unix","data":{"path":"./nbd-sock"}}
(QEMU) nbd-server-add device=node1
(QEMU) nbd-server-stop

Later on I moved (thanks to the Git commit you mentioned earlier) to the
much cleaner approach of using 'node-name' (the below syntax is
from my test notes with QEMU 2.12):

(QEMU) blockdev-add driver=qcow2 node-name=node-E 
file={"driver":"file","filename":"e.qcow2"}
(QEMU) blockdev-backup device=node-B target=node-E sync=full job-id=job0
[...]

-- 
/kashyap



reply via email to

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