Bug 1529059
Summary: | The error message is not clear when upload a bigger file by vol-upload | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Fangge Jin <fjin> |
Component: | libvirt | Assignee: | John Ferlan <jferlan> |
Status: | CLOSED ERRATA | QA Contact: | Meina Li <meili> |
Severity: | low | Docs Contact: | |
Priority: | low | ||
Version: | 7.5 | CC: | dyuan, lmen, xuzhang, yisun |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | libvirt-4.5.0-1.el7 | Doc Type: | No Doc Update |
Doc Text: |
undefined
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2018-10-30 09:52:20 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: |
Description
Fangge Jin
2017-12-26 08:17:22 UTC
A patch has been posted upstream to resolve this: https://www.redhat.com/archives/libvir-list/2018-June/msg00464.html The patch has been pushed upstream: commit 5babc51912f91f196922b4149ce7e90ceafb5f9c Author: John Ferlan <jferlan> Date: Wed Jun 6 08:38:30 2018 -0400 fdstream: Report error from the I/O thread ... Commit id 0fe4aa14 added the thread specific error message reporting (or save) to virFDStreamEvent; however, as processing goes via virStream{Send|SendHole|Recv} via calls from daemonStreamHandle{WriteData|Hole|Read} the last error gets reset in the main libvirt API's thus, whatever error may have been set as last error will be cleared prior to the error paths using it resulting in the generic error on the client side. For each of the paths that check threadQuit or threadErr, check if threadErr was set and set it agian if there isn't a last error (e.g. some other failure) set so that the message can be provided back to the client. Signed-off-by: John Ferlan <jferlan> ACKed-by: Michal Privoznik <mprivozn> $ git describe 5babc51912f91f196922b4149ce7e90ceafb5f9c v4.4.0-141-g5babc51912 $ Verified on libvirt-4.5.0-4.el7.x86_64. Test steps: 1. Prepare a storage pool with iscsi disk, for example: # virsh pool-dumpxml disk-sdb <pool type='disk'> <name>disk-sdb</name> <uuid>dcb9c7ee-0932-43ea-b68c-32644cc2b17e</uuid> <capacity unit='bytes'>320070320640</capacity> <allocation unit='bytes'>970550784</allocation> <available unit='bytes'>319099737600</available> <source> <device path='/dev/sdb'> <freeExtent start='970583040' end='320070320640'/> </device> <format type='dos'/> </source> <target> <path>/dev</path> </target> </pool> 2. Create a volume(300M) in the pool: # virsh vol-create-as --pool disk-sdb --name sdb1 --capacity 300M # virsh vol-list disk-sdb Name Path ------------------------------------------------------------------------------ sdb1 /dev/sdb1 3. Prepare a large file(500M) to be uploaded: # qemu-img create /tmp/upload-bigger 500M Formatting '/tmp/upload-bigger', fmt=raw size=524288000 # ll /tmp/upload-bigger -h -rw-r--r--. 1 root root 500M Dec 22 22:49 /tmp/upload-bigger 4. Upload the file: # virsh vol-upload --vol sdb1 /tmp/upload-bigger --pool disk-sdb error: cannot send data to volume sdb1 error: Unable to write /dev/sdb1: No space left on device 5. Test on logical pool, and also can get expected results. According to test results, move this bug 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-2018:3113 |