Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
cloning to qemu-kvm; maybe we should improve the crippling code to also nuke block-job-cancel (and maybe block-job-set-speed and query-block-jobs); it
seems weird to see commands related to block jobs if you can't start any.
+++ This bug was initially created as a clone of Bug #1140981 +++
Description of problem:
Libvirt should post more accurate error when do blockpull with qemu-kvm
Version-Release number of selected component (if applicable):
libvirt-1.2.8-2.el7.x86_64
qemu-kvm-1.5.3-69.el7.x86_64
How reproducible:
100%
Steps to Reproduce:
1. Prepare a backing chains
# qemu-img create -f qcow2 /var/lib/libvirt/images/base.img 10G ;qemu-img create -f qcow2 /var/lib/libvirt/images/base.s1 10G -b /var/lib/libvirt/images/base.img -o backing_fmt=qcow2;qemu-img create -f qcow2 /var/lib/libvirt/images/base.s2 10G -b /var/lib/libvirt/images/base.s1 -o backing_fmt=qcow2
Formatting '/var/lib/libvirt/images/base.img', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off
Formatting '/var/lib/libvirt/images/base.s1', fmt=qcow2 size=10737418240 backing_file='/var/lib/libvirt/images/base.img' backing_fmt='qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
Formatting '/var/lib/libvirt/images/base.s2', fmt=qcow2 size=10737418240 backing_file='/var/lib/libvirt/images/base.s1' backing_fmt='qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
2. Install guest with base.s2 as source file
# virsh list && virsh domblklist rhel7
Id Name State
----------------------------------------------------
52 rhel7 running
Target Source
------------------------------------------------
vda /var/lib/libvirt/images/base.s2
3. Try to do blockpull
# virsh blockpull rhel7 vda --active
error: Requested operation is not valid: Command 'block-stream' is not found
#virsh blockpull rhel7 vda --base /var/lib/libvirt/images/base.s1
error: Requested operation is not valid: Command 'block-stream' is not found
Actual results:
Expected results:
Since block-stream is not supported on qemu-kvm, so libvirt should post more accurate
error like "error: unsupported configuration: block pull is not supported with this QEMU binary"
Additional info:
#virsh blockcopy rhel6 vda /var/lib/libvirt/images/copy.img --wait
error: unsupported configuration: block copy is not supported with this QEMU binary
#virsh blockcommit rhel6 vda --active
error: unsupported configuration: online commit not supported with this QEMU binary
--- Additional comment from Eric Blake on 2014-10-24 14:40:13 MDT ---
Uggh. The problem is because RHEL ships 'block-job-cancel' even though it cripples out 'block-stream', but the libvirt code was assuming that either both commands are present, or neither. I'm half tempted to reassign this to qemu to have them rework the crippling code to hide 'block-job-cancel', then libvirt will just work.
--- Additional comment from Eric Blake on 2014-10-24 14:56:44 MDT ---
Libvirt upstream patch proposed:
https://www.redhat.com/archives/libvir-list/2014-October/msg00784.html
Comment 4Miroslav Rezanina
2016-05-16 08:06:08 UTC
Reproduced with:
qemu-kvm-1.5.3-60.el7.x86_64
1. Prepare a backing chains
# qemu-img create -f qcow2 /var/lib/libvirt/images/base.img 10G ;qemu-img create -f qcow2 /var/lib/libvirt/images/base.s1 10G -b /var/lib/libvirt/images/base.img -o backing_fmt=qcow2;qemu-img create -f qcow2 /var/lib/libvirt/images/base.s2 10G -b /var/lib/libvirt/images/base.s1 -o backing_fmt=qcow2
2. Install guest with base.s2 as source file
# virsh list && virsh domblklist rhel7
Id Name State
----------------------------------------------------
3 rhel7 running
Target Source
------------------------------------------------
hda /var/lib/libvirt/images/base.s2
3. Try to do blockpull
Result:
# virsh blockpull rhel7 hda
error: Requested operation is not valid: Command 'block-stream' is not found
# virsh blockpull rhel7 hda --base /var/lib/libvirt/images/base.s1
error: Requested operation is not valid: Command 'block-stream' is not found
Verified with:
qemu-kvm-1.5.3-122.el7.x86_64
Steps same as above.
Result:
# virsh blockpull rhel7 hda
error: unsupported configuration: block jobs not supported with this QEMU binary
# virsh blockpull rhel7 hda --base /var/lib/libvirt/images/base.s1
error: unsupported configuration: block jobs not supported with this QEMU binary
Moving to Verified.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://rhn.redhat.com/errata/RHSA-2016-2585.html