| Summary: | qemu-img: unable to create json backing file via tftp protocol | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Han Han <hhan> |
| Component: | qemu-kvm-rhev | Assignee: | Hanna Czenczek <hreitz> |
| Status: | CLOSED CANTFIX | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | 7.4 | CC: | dyuan, hreitz, juzhang, knoel, virt-maint, xuzhang, yanyang |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-11-02 17:37:47 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: | |
| Bug Depends On: | |||
| Bug Blocks: | 1375408 | ||
Hi, It turns out that our curl block driver's TFTP support is completely broken by design: For rather obvious reasons, all network protocols that we support in the block layer need to offer some functionality to read only a range of the image file. However, TFTP does not have this functionality, and therefore, it was always basically completely unusable. This is probably not the immediate reason behind the error message you are seeing, but it does mean that QEMU basically has no support for reading image files over TFTP and the only thing we can do is to stop pretending that we do. Sorry, Max Since the TFTP is completely unusable in qemu, I think it should be highlighted from upstream codes in case of mistakenly using. Maybe we should write 'tftp: deprecated' in qapi/block-core.json and docs/qmp-commands.txt You're right, and I've actually sent a patch series to remove tftp from upstream: http://lists.nongnu.org/archive/html/qemu-block/2016-11/msg00054.html Max |
Description of problem: As subject Version-Release number of selected component (if applicable): curl-7.29.0-35.el7.x86_64 qemu-kvm-rhev-2.6.0-22.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1. Prepare a tftp server and a image on the tftp dir. 2. Check if the tftp server works well # curl tftp://10.66.6.236/tftp -o /tmp/tftp % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 100M 100 100M 0 0 2673k 0 0:00:38 0:00:38 --:--:-- 2679k 100 100M 100 100M 0 0 2673k 0 0:00:38 0:00:38 --:--:-- 2673k 3. Try to create json backing image via tftp # qemu-img create -f qcow2 -b 'json:{"file.driver":"tftp", "file.url":"tftp://10.66.6.236/tftp"}' /var/lib/libvirt/images/tftp.img qemu-img: /var/lib/libvirt/images/tftp.img: CURL: Error opening file: getpeername() failed with errno 107: Transport endpoint is not connected Actual results: As step3 Expected results: Backing image created. Additional info: