Bug 1056558
| Summary: | virt-sparsify overwrites block devices if used as output files | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Richard W.M. Jones <rjones> |
| Component: | libguestfs | Assignee: | Pino Toscano <ptoscano> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.6 | CC: | huzhan, jherrman, leiwang, lkong, mbooth, ptoscano, rbalakri, wshi, yuliu |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | libguestfs-1.20.11-4.el6 | Doc Type: | Bug Fix |
| Doc Text: |
As a result of the fix for BZ#1056558, it was not possible to use a block device for output when using the virt-sparsify utility. This update re-enables block devices to be used as ouput in virt-sparsify.
|
Story Points: | --- |
| Clone Of: | 1056290 | Environment: | |
| Last Closed: | 2014-10-14 06:35:04 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: | 1056290, 1122557 | ||
| Bug Blocks: | |||
|
Description
Richard W.M. Jones
2014-01-22 13:11:43 UTC
Upstream fix is: 13bca32e4ec9213e69ea55e837dea846719fb67e available in libguestfs >= 1.25.26 and >= 1.24.6. A test of this is: # Create an empty file to sparsify: guestfish -N fs exit # Create block & char device nodes in the filesystem: mknod /tmp/block b 0 0 mknod /tmp/char c 0 0 You should have two dummy device nodes in /tmp: $ ll /tmp/block /tmp/char brw-r--r--. 1 root root 0, 0 Jan 22 13:16 /tmp/block crw-r--r--. 1 root root 0, 0 Jan 22 13:16 /tmp/char Run virt-sparsify like this: virt-sparsify test1.img /tmp/block and: virt-sparsify test1.img /tmp/char If these two commands run, and you see an error like: qemu-img: /tmp/block: error while converting qcow2: No such device or address virt-sparsify: error: external command failed: qemu-img convert -f qcow2 -O 'qcow2' '/tmp/sparsify011645.qcow2' '/tmp/block' then that's bad (demonstrating the bug). If the commands show a clean error like: virt-sparsify: error: output '/tmp/block' cannot be a block device, it must be a regular file then that's good (showing the bug is fixed). Verified with libguestfs-1.20.11-8.el6.x86_64 # guestfish -N fs exit # mknod /tmp/block b 0 0 # mknod /tmp/char c 0 0 # ll /tmp/block /tmp/char brw-r--r--. 1 root root 0, 0 Jul 2 13:42 /tmp/block crw-r--r--. 1 root root 0, 0 Jul 2 13:42 /tmp/char # virt-sparsify test1.img /tmp/block virt-sparsify: error: output '/tmp/block' cannot be a block device, it must be a regular file virt-sparsify: If reporting bugs, run virt-sparsify with debugging enabled (-v) and include the complete output. # virt-sparsify test1.img /tmp/char virt-sparsify: error: output '/tmp/char' cannot be a character device, it must be a regular file virt-sparsify: If reporting bugs, run virt-sparsify with debugging enabled (-v) and include the complete output. Got the clean error message 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. http://rhn.redhat.com/errata/RHBA-2014-1458.html |