On 02/06/2012 07:51 AM, Jiri Denemark wrote:
Qemu uses non-blocking I/O which doesn't play nice with regular
file
descriptors. We need to pass a pipe to qemu instead, which can easily be
done using iohelper.
---
src/qemu/qemu_driver.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 01dbcd7..86d3058 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2960,8 +2960,7 @@ doCoreDump(struct qemud_driver *driver,
NULL, NULL)) < 0)
goto cleanup;
- if (bypass_cache &&
- (wrapperFd = virFileWrapperFdNew(&fd, true, path)) == NULL)
+ if (!(wrapperFd = virFileWrapperFdNew(&fd, bypass_cache, path)))
goto cleanup;
What you have is right (and amazingly short for the bug fix at hand!),
but you missed the core dump fd creation path, which needs the same
treatment.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org