On Mon, Feb 06, 2012 at 15:43:59 -0700, Eric Blake wrote:
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.
This is as far as I can see the only core dump fd creation path so I'm a bit
confused.
Jirka