
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@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org