[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