Bug 1667320
| Summary: | -blockdev: auto-read-only is ineffective for drivers on read-only whitelist | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | aihua liang <aliang> | |
| Component: | qemu-kvm-rhev | Assignee: | Kevin Wolf <kwolf> | |
| Status: | CLOSED ERRATA | QA Contact: | aihua liang <aliang> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | medium | |||
| Version: | 7.6 | CC: | coli, kwolf, ngu, virt-maint | |
| Target Milestone: | rc | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | qemu-kvm-rhev-2.12.0-24.el7 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1678968 1717165 (view as bug list) | Environment: | ||
| Last Closed: | 2019-08-22 09:19:59 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1678968, 1717165 | |||
Thanks, I can see the problem. If the driver whitelist check fails for read-write, but the driver is on the read-only whitelist, we forget to check whether we can use auto-read-only to downgrade to read-only. Same problem also exist in qemu-kvm-rhev-2.12.0-21.el7.x86_64. Fix included in qemu-kvm-rhev-2.12.0-24.el7 Test on qemu-kvm-rhev-2.12.0-24.el7.x86_64, it works ok with base's file node format "raw": -blockdev node-name=file_base,driver=https,sslverify=off,url=https://10.66.144.33/base,auto-read-only=on \ -blockdev driver=raw,file=file_base,node-name=base,auto-read-only=on \ -blockdev driver=file,node-name=file_sn1,filename=/home/sn1,auto-read-only=on \ -blockdev driver=qcow2,file=file_sn1,node-name=sn1,auto-read-only=on,backing=base \ -blockdev driver=file,node-name=file_sn2,filename=/home/sn2,auto-read-only=on \ -blockdev driver=qcow2,file=file_sn2,node-name=sn2,backing=sn1,auto-read-only=on \ -blockdev driver=file,node-name=file_sn3,filename=/home/sn3 \ -blockdev driver=qcow2,file=file_sn3,node-name=sn3,backing=sn2 \ {'execute': 'block-commit', 'arguments': { 'device':'sn3','base-node':'sn1','top-node':'sn2','job-id':'j1'}} {"timestamp": {"seconds": 1551837774, "microseconds": 533141}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "j1"}} {"timestamp": {"seconds": 1551837774, "microseconds": 533344}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "j1"}} {"return": {}} {"timestamp": {"seconds": 1551837774, "microseconds": 562099}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "j1"}} {"timestamp": {"seconds": 1551837774, "microseconds": 562144}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "j1"}} {"timestamp": {"seconds": 1551837774, "microseconds": 562510}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "j1", "len": 1073741824, "offset": 1073741824, "speed": 0, "type": "commit"}} {"timestamp": {"seconds": 1551837774, "microseconds": 562562}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "j1"}} {"timestamp": {"seconds": 1551837774, "microseconds": 562601}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "j1"}} But when i test it with base's file node format "qcow2", failed to start vm with info: qemu-kvm: -blockdev driver=qcow2,file=file_base,node-name=base,auto-read-only=on: Block node is read-only I'll track the issue by BZ#1685772 and set this bug's status 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://access.redhat.com/errata/RHSA-2019:2553 |
Description of problem: Curl can't support auto-read-only well Version-Release number of selected component (if applicable): kernel version:3.10.0-957.1.3.el7.x86_64 qemu-kvm-rhev version:qemu-kvm-rhev-2.12.0-18.el7_6.3.x86_64 How reproducible: 100% Steps to Reproduce: backend:curl driver: https step1: create 3 images (https server)# qemu-img create -f qcow2 base 1G # qemu-img create -f qcow2 /home/atest/sn1 1G # qemu-img create -f qcow2 /home/atest/sn2 1G step2: start qemu with snapshot chain: base->sn1->sn2 -blockdev node-name=file_base,driver=https,sslverify=off,url=https://10.73.224.153/base,auto-read-only=on \ -blockdev driver=qcow2,file=file_base,node-name=base,auto-read-only=on \ -blockdev driver=file,node-name=file_sn1,filename=/home/atest/sn1,auto-read-only=on \ -blockdev driver=qcow2,file=file_sn1,node-name=sn1,auto-read-only=on,backing=base \ -blockdev driver=file,node-name=file_sn2,filename=/home/atest/sn2 \ -blockdev driver=qcow2,file=file_sn2,node-name=sn2,backing=sn1 \ test result: qemu-kvm: -blockdev driver=https,node-name=file_base,sslverify=off,url=https://10.73.224.153/base,auto-read-only=on: Driver 'https' can only be used for read-only devices driver: http test steps: step1: same as step1 above step2: start qemu with snapshot chain: base->sn1->sn2 -blockdev node-name=file_base,driver=http,url=https://10.73.224.153/base,read-only=on \ -blockdev driver=qcow2,file=file_base,node-name=base,read-only=on \ -blockdev driver=file,node-name=file_sn1,filename=/home/atest/sn1,read-only=on \ -blockdev driver=qcow2,file=file_sn1,node-name=sn1,read-only=on,backing=base \ -blockdev driver=file,node-name=file_sn2,filename=/home/atest/sn2 \ -blockdev driver=qcow2,file=file_sn2,node-name=sn2,backing=sn1 \ test result: qemu start failed with info: qemu-kvm: -blockdev driver=http,node-name=file_base,url=http://10.73.224.153/base,read-only=on: Driver 'http' is not whitelisted Note: when check img info via http success: qemu-img info 'json:{"file.driver":"http", "file.url":"http://10.73.224.153/base"} > ' image: json:{"driver": "qcow2", "file": {"url": "http://10.73.224.153/base", "driver": "http"}} file format: qcow2 virtual size: 1.0G (1073741824 bytes) disk size: unavailable cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false