[Bug 1317491] Re: virsh blockcommit hangs at 100%

Rafael David Tinoco rafael.tinoco at canonical.com
Thu Feb 23 20:02:47 UTC 2017


# Testing Bigger Merge

inaddy@(kvm02):~$ sudo qemu-img info --backing-chain /var/lib/libvirt/images/guest.1487880011
image: /var/lib/libvirt/images/guest.1487880011
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 196K
cluster_size: 65536
backing file: /var/lib/libvirt/images/guest.1487879972
backing file format: qcow2
Format specific information:
    compat: 1.1
    lazy refcounts: false

image: /var/lib/libvirt/images/guest.1487879972
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 466M
cluster_size: 65536
backing file: /var/lib/libvirt/images/guest.1487879587
backing file format: qcow2
Format specific information:
    compat: 1.1
    lazy refcounts: false

image: /var/lib/libvirt/images/guest.1487879587
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 3.6M
cluster_size: 65536
backing file: /var/lib/libvirt/images/guest.1487877813
backing file format: qcow2
Format specific information:
    compat: 1.1
    lazy refcounts: false

image: /var/lib/libvirt/images/guest.1487877813
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 2.9M
cluster_size: 65536
backing file: /var/lib/libvirt/images/guest.qcow2
backing file format: qcow2
Format specific information:
    compat: 1.1
    lazy refcounts: false

image: /var/lib/libvirt/images/guest.qcow2
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 5.0G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

# Writing to guest

inaddy@(guest):~$ dd if=/dev/zero of=./teste bs=1M count=1024
^C465+0 records in
465+0 records out
487587840 bytes (488 MB) copied, 8.74541 s, 55.8 MB/s

# Testing a bigger merge (several snapshots at once)

inaddy@(kvm02):~$ virsh blockcommit --domain=guest --path=/var/lib/libvirt/images/guest.1487880011 --base /var/lib/libvirt/images/guest.qcow2 --top /var/lib/libvirt/images/guest.1487879972 --wait --verbose
Block Commit: [100 %]
Commit complete

# There are only 2 snapshots at the end:

inaddy@(kvm02):~$ sudo qemu-img info --backing-chain /var/lib/libvirt/images/guest.1487880011
image: /var/lib/libvirt/images/guest.1487880011
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 1.1M
cluster_size: 65536
backing file: /var/lib/libvirt/images/guest.qcow2
backing file format: qcow2
Format specific information:
    compat: 1.1
    lazy refcounts: false

image: /var/lib/libvirt/images/guest.qcow2
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 5.4G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1317491

Title:
  virsh blockcommit hangs at 100%

Status in libvirt package in Ubuntu:
  Fix Released
Status in libvirt source package in Trusty:
  Fix Committed
Status in libvirt source package in Xenial:
  Fix Released
Status in libvirt source package in Yakkety:
  Fix Released
Status in libvirt source package in Zesty:
  Fix Released

Bug description:
  [Impact]

   * Virsh can't merge snapshots using the Block Commit technique
   * It is only possible to merge base to top image (not the opposite)
   * Combination of libvirt v1.2.2 and QEMU 2 is no good for Block Commit
   * After this fix, virsh won't hang on the opration, will cause an error

  [Test Case]

  $ virsh list --all
   Id    Name                           State
  ----------------------------------------------------
   4     guest                          running

  $ virsh domblklist --domain guest
  Target     Source
  ------------------------------------------------
  vda        /var/lib/libvirt/images/guest.1487880011

  $ sudo qemu-img info --backing-chain /var/lib/libvirt/images/guest.1487880011 | grep image:
  image: /var/lib/libvirt/images/guest.1487880011
  image: /var/lib/libvirt/images/guest.qcow2

  inaddy@(kvm02):~$ virsh blockcommit --domain=guest --path=/var/lib/libvirt/images/guest.1487880011 --base=/var/lib/libvirt/images/guest.qcow2 --wait --verbose
  Block Commit: [100 %] <----- STUCKS HERE

  [Regression Potential]

   * Block commit for Active layers would continue not working
   * Block commit for Intermediary layers would not work
   * Its a small fix based on upstream fix (to block this function)
   * Has been tested a lost on verification

  [Other Info]

  ## Original Case Description

  virsh blockcommit hangs at 100% and nothing happens.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1317491/+subscriptions



More information about the Ubuntu-sponsors mailing list