All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre DERUMIER <aderumier@odiso.com>
To: qemu-devel <qemu-devel@nongnu.org>
Subject: [Qemu-devel] blockdev-mirror , how to replace old nodename by new nodename ?
Date: Wed, 19 Apr 2017 09:08:20 +0200 (CEST)	[thread overview]
Message-ID: <1009091132.10984059.1492585700295.JavaMail.zimbra@oxygem.tv> (raw)

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.


qemu command line (vm-138-disk-1.qcow2 filename on "drive-virtio0" nodename:

-blockdev {"node-name":"drive-virtio0","cache":{"direct":true},"driver":"qcow2","file":{"filename":"/var/lib/vz/images/138/vm-138-disk-1.qcow2","aio":"threads","driver":"file"}}
-device virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,write-cache=on


add a new blockdev with blockdev-add: (a file vm-138-disk-2.raw has been created before, I assign it to a "tempmirror" nodename)


{"arguments":{"driver":"raw","cache":{"direct":true},"node-name":"tempmirror","file":{"driver":"file","aio":"threads","filename":"/var/lib/vz/images/138/vm-138-disk-2.raw"}},"execute":"blockdev-add"}


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.

Any idea ?

Regards,

Alexandre





[query-named-block-nodes","arguments":{}
$VAR1 = [
          {
            'bps_wr' => 0,
            'cache' => {
                         'no-flush' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                         'direct' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                         'writeback' => $VAR1->[0]{'cache'}{'direct'}
                       },
            'bps' => 0,
            'iops' => 0,
            'node-name' => 'toto',
            'ro' => $VAR1->[0]{'cache'}{'no-flush'},
            'image' => {
                         'actual-size' => 1074794496,
                         'filename' => '/var/lib/vz/images/138/vm-138-disk-2.raw',
                         'dirty-flag' => $VAR1->[0]{'cache'}{'no-flush'},
                         'format' => 'raw',
                         'virtual-size' => 1073741824
                       },
            'write_threshold' => 0,
            'iops_rd' => 0,
            'bps_rd' => 0,
            'encrypted' => $VAR1->[0]{'cache'}{'no-flush'},
            'encryption_key_missing' => $VAR1->[0]{'cache'}{'no-flush'},
            'backing_file_depth' => 0,
            'detect_zeroes' => 'off',
            'file' => '/var/lib/vz/images/138/vm-138-disk-2.raw',
            'drv' => 'raw',
            'iops_wr' => 0
          },
          {
            'ro' => $VAR1->[0]{'cache'}{'no-flush'},
            'node-name' => '#block132',
            'file' => '/var/lib/vz/images/138/vm-138-disk-2.raw',
            'detect_zeroes' => 'off',
            'iops_wr' => 0,
            'drv' => 'file',
            'iops_rd' => 0,
            'bps_rd' => 0,
            'image' => {
                         'actual-size' => 1074794496,
                         'filename' => '/var/lib/vz/images/138/vm-138-disk-2.raw',
                         'dirty-flag' => $VAR1->[0]{'cache'}{'no-flush'},
                         'virtual-size' => 1073741824,
                         'format' => 'file'
                       },
            'write_threshold' => 0,
            'backing_file_depth' => 0,
            'encryption_key_missing' => $VAR1->[0]{'cache'}{'no-flush'},
            'encrypted' => $VAR1->[0]{'cache'}{'no-flush'},
            'bps_wr' => 0,
            'bps' => 0,
            'iops' => 0,
            'cache' => {
                         'no-flush' => $VAR1->[0]{'cache'}{'no-flush'},
                         'direct' => $VAR1->[0]{'cache'}{'direct'},
                         'writeback' => $VAR1->[0]{'cache'}{'direct'}
                       }
          },
          {
            'drv' => 'qcow2',
            'iops_wr' => 0,
            'detect_zeroes' => 'off',
            'file' => '/var/lib/vz/images/138/vm-138-disk-1.qcow2',
            'encrypted' => $VAR1->[0]{'cache'}{'no-flush'},
            'encryption_key_missing' => $VAR1->[0]{'cache'}{'no-flush'},
            'backing_file_depth' => 0,
            'image' => {
                         'cluster-size' => 65536,
                         'virtual-size' => 1073741824,
                         'format-specific' => {
                                                'type' => 'qcow2',
                                                'data' => {
                                                            'corrupt' => $VAR1->[0]{'cache'}{'no-flush'},
                                                            'compat' => '1.1',
                                                            'lazy-refcounts' => $VAR1->[0]{'cache'}{'no-flush'},
                                                            'refcount-bits' => 16
                                                          }
                                              },
                         'format' => 'qcow2'
                       },
            'write_threshold' => 0,
            'bps_rd' => 0,
            'iops_rd' => 0,
            'ro' => $VAR1->[0]{'cache'}{'no-flush'},
            'node-name' => 'drive-virtio0',
            'bps' => 0,
            'iops' => 0,
            'cache' => {
                         'writeback' => $VAR1->[0]{'cache'}{'direct'},
                         'no-flush' => $VAR1->[0]{'cache'}{'no-flush'},
                         'direct' => $VAR1->[0]{'cache'}{'direct'}
                       },
            'bps_wr' => 0
          },
          {
            'detect_zeroes' => 'off',
            'file' => '/var/lib/vz/images/138/vm-138-disk-1.qcow2',
            'drv' => 'file',
            'iops_wr' => 0,
            'write_threshold' => 0,
            'image' => {
                         'format' => 'file',
                         'virtual-size' => 1074135040,
                         'dirty-flag' => $VAR1->[0]{'cache'}{'no-flush'},
                         'filename' => '/var/lib/vz/images/138/vm-138-disk-1.qcow2',
                         'actual-size' => 1075130368
                       },
            'bps_rd' => 0,
            'iops_rd' => 0,
            'encryption_key_missing' => $VAR1->[0]{'cache'}{'no-flush'},
            'encrypted' => $VAR1->[0]{'cache'}{'no-flush'},
            'backing_file_depth' => 0,
            'ro' => $VAR1->[0]{'cache'}{'no-flush'},
            'node-name' => '#block071',
            'bps' => 0,
            'iops' => 0,
            'cache' => {
                         'writeback' => $VAR1->[0]{'cache'}{'direct'},
                         'no-flush' => $VAR1->[0]{'cache'}{'no-flush'},
                         'direct' => $VAR1->[0]{'cache'}{'direct'}
                       },
            'bps_wr' => 0
          }
        ];


 

             reply	other threads:[~2017-04-19  7:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-19  7:08 Alexandre DERUMIER [this message]
2017-04-19  9:02 ` [Qemu-devel] blockdev-mirror , how to replace old nodename by new nodename ? Fam Zheng
2017-04-19  9:40   ` Alexandre DERUMIER
2017-04-19 10:43 ` Kashyap Chamarthy
2017-04-19 12:28   ` Alexandre DERUMIER
2017-04-19 12:58     ` Kashyap Chamarthy
2017-04-19 13:36       ` Alexandre DERUMIER
2017-04-19 13:48         ` Alexandre DERUMIER

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1009091132.10984059.1492585700295.JavaMail.zimbra@oxygem.tv \
    --to=aderumier@odiso.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.