
On 02/05/2015 11:26 AM, Jason J. Herne wrote:
Hello Eric,
it has been quite a while since we have looked at this :). I'm revisiting this problem and I find that it still exists. Here is an archive link of our previous discussions on this:
https://www.redhat.com/archives/libvir-list/2014-July/thread.html#00809
Basically, when I do a migration and run out of disk space I do not see a meaningful error message without this patch. Early on in our previous discussions you asked me how I had gotten through the qemuDomainSaveMemory function without hitting this code:
if (virFileWrapperFdClose(wrapperFd) < 0) goto cleanup;
If qemuMigrationToFile fails we go directly to cleanup and do not pass through the virFileWrapperFdClose call. For reference:
/* Perform the migration */ if (qemuMigrationToFile(driver, vm, fd, offset, path, qemuCompressProgramName(compressed), bypassSecurityDriver, asyncJob) < 0) goto cleanup;
This is why my patch adds the additional call to virFileWrapperFdClose. Perhaps, if we cannot tolerate calling it twice, I can adjust the code such that we only call it once.
For some odd reason, you seem to see messages that I do not (take look at my final message in the thread linked above). I was not able to see your "goodbye world \n" message.
I would be interested to know what you see when you run my test case without my patch. If you feel like trying it just create a 50MB disk image and loop mount it:
mount -o loop /usr/local/var/lib/libvirt/qemu/save.img /usr/local/var/lib/libvirt/qemu/save
Then: virsh managedsave guestname
And report what you saw on the command line and the libvirtd console and/or log depending on how you run the daemon. I suspect (since you saw "goodbye world") that you would also see the out of disk space message ok. If I'm correct, then the question becomes... why don't I see it too? :)
Thanks for your time.
Polite Ping? :) -- -- Jason J. Herne (jjherne@linux.vnet.ibm.com)