qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] blockdev-mirror , how to replace old nodename by new no


From: Kashyap Chamarthy
Subject: Re: [Qemu-devel] blockdev-mirror , how to replace old nodename by new nodename ?
Date: Wed, 19 Apr 2017 12:43:00 +0200
User-agent: Mutt/1.6.0.1 (2016-04-01)

On Wed, Apr 19, 2017 at 09:08:20AM +0200, Alexandre DERUMIER wrote:
> Hi,
> 
> I'm trying to implement blockdev-mirror, to replace drive-mirror as we
> can pass more options with blockdev-mirror.
>
> 
> I would like to mirror an attached blockdev to a new blockdev, then
> switch at the end of block-job-complete, like for drive-mirror.
 
[...]

> blockdev-mirror:
> 
> {"arguments":{"job-id":"drive-virtio0","target":"tempmirror","sync":"full","replaces":"drive-virtio0","device":"drive-virtio0"},"execute":"blockdev-mirror"}
> 
> (I have try with or without replaces option)
> 
> then query-name-block-nodes, show vm-138-disk-2.raw file on tempmirror
> "node-name", and vm-138-disk1.qcow2 on "drive-virtio0" node-name
> 
> I expected that both was switched, like for drive-mirror.

For me, 'blockdev-mirror' does do the switch when I issue
'block-job-complete' (similar to 'drive-mirror')

The below is my test from Git:

I was here (on Git):

    $ git describe
    v2.9.0-rc5

-----------------------------------------------------------------------
$ qemu-img create -f qcow2 /export/target2.qcow2 1G
Formatting '/export/target2.qcow2', fmt=qcow2 size=1073741824 encryption=off 
cluster_size=65536 lazy_refcounts=off refcount_bits=16
-----------------------------------------------------------------------
QMP> 
{
  "execute":"blockdev-add",
  "arguments":{
    "driver":"qcow2",
    "node-name":"node1",
    "file":{
      "driver":"file",
      "filename":"/export/target2.qcow2"
    }
  }
}
{"return": {}}
-----------------------------------------------------------------------
QMP> 
{"execute":"query-named-block-nodes"}
[...]
-----------------------------------------------------------------------
QMP>
{
  "execute":"blockdev-mirror",
  "arguments":{
    "device":"foo",
    "job-id":"job-2",
    "target":"node2",
    "sync":"full"
  }
}
{"return": {}}
{"timestamp": {"seconds": 1492598410, "microseconds": 35946}, "event": 
"BLOCK_JOB_READY", "data": {"device": "job-2", "len": 24182784, "offset": 
24182784, "speed": 0, "type": "mirror"}}
-----------------------------------------------------------------------
QMP>
{
  "execute":"block-job-complete",
  "arguments":{
    "device":"job-2"
  }
}
{"return": {}}
{"timestamp": {"seconds": 1492598419, "microseconds": 115458}, "event": 
"BLOCK_JOB_COMPLETED", "data": {"device": "job-2", "len": 24182784, "offset": 
24182784, "speed": 0, "type": "mirror"}}
-----------------------------------------------------------------------


[...]


-- 
/kashyap



reply via email to

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