Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1505701 - -blockdev fails if a qcow2 image has backing store format and backing store is referenced via node-name
-blockdev fails if a qcow2 image has backing store format and backing store i...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev (Show other bugs)
7.5
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Kevin Wolf
CongLi
:
Depends On:
Blocks: 760547 1558125
  Show dependency treegraph
 
Reported: 2017-10-24 03:06 EDT by Peter Krempa
Modified: 2018-04-10 20:45 EDT (History)
11 users (show)

See Also:
Fixed In Version: qemu-kvm-rhev-2.10.0-11.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 20:44:15 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:1104 None None None 2018-04-10 20:45 EDT

  None (edit)
Description Peter Krempa 2017-10-24 03:06:03 EDT
Description of problem:
qemu fails to start when disk storage is declared via -blockdev if an qcow2 image has backing store and the backing store format is recorded in the image itself. This happens as the code opening the image adds the format as an property when opening the image but the code opening the image via reference rejects properities if the reference (node-name) is given.

Version-Release number of selected component (if applicable):
2.9.0+ including current upstream

How reproducible:
100%


Steps to Reproduce:
1. Create qcow2 image with backing file while specifying backing store format:

$ qemu-img create -f raw /tmp/backing.raw 64M
$ qemu-img create -f qcow2 -F raw -b /tmp/backing.raw /tmp/test.qcow2

2. Try to start qemu while specifying the chain manually via -blockdev:

$ qemu-system-x86_64 \
  -blockdev driver=file,filename=/tmp/backing.raw,node-name=backing \
  -blockdev driver=qcow2,file.driver=file,file.filename=/tmp/test.qcow2,node-name=root,backing=backing
qemu-system-x86_64: -blockdev 
driver=qcow2,file.driver=file,file.filename=/tmp/test.qcow2,node-name=root,backing=backing:
 Could not open backing file: Cannot reference an existing block device with 
additional options or a new filename

Actual results:
qemu fails to start with: Could not open backing file: Cannot reference an existing block device with 
additional options or a new filename


Expected results:
qemu accepts the backing chain as specified


Additional info:
Patches posted to qemu-devel:

https://lists.gnu.org/archive/html/qemu-devel/2017-10/msg02872.html
Comment 1 Kevin Wolf 2017-10-29 04:51:01 EDT
This is fixed upstream in commit 6bff597bf ('block: don't add 'driver' to
options when referring to backing via node name').
Comment 3 Miroslav Rezanina 2017-12-05 07:59:27 EST
Fix included in qemu-kvm-rhev-2.10.0-11.el7
Comment 5 CongLi 2017-12-07 00:26:56 EST
Steps:
1. Create qcow2 image with backing file while specifying backing store format:

$ qemu-img create -f raw /tmp/backing.raw 64M
$ qemu-img create -f qcow2 -F raw -b /tmp/backing.raw /tmp/test.qcow2

2. Try to start qemu while specifying the chain manually via -blockdev:

$ /usr/libexec/qemu-kvm \
  -blockdev driver=file,filename=/tmp/backing.raw,node-name=backing \
  -blockdev driver=qcow2,file.driver=file,file.filename=/tmp/test.qcow2,node-name=root,backing=backing


Reproduced on:
qemu-kvm-rhev-2.10.0-10.el7.x86_64

qemu-kvm: -blockdev driver=qcow2,file.driver=file,file.filename=/tmp/test.qcow2,node-name=root,backing=backing: Could not open backing file: Cannot reference an existing block device with additional options or a new filename


Verified on:
qemu-kvm-rhev-2.10.0-11.el7.x86_64

$ /usr/libexec/qemu-kvm -blockdev driver=file,filename=/tmp/backing.raw,node-name=backing   -blockdev driver=qcow2,file.driver=file,file.filename=/tmp/test.qcow2,node-name=root,backing=backing
VNC server running on ::1:5900
Comment 7 errata-xmlrpc 2018-04-10 20:44:15 EDT
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://access.redhat.com/errata/RHSA-2018:1104

Note You need to log in before you can comment on or make changes to this bug.