"Daniel P. Berrange" <berrange(a)redhat.com> writes:
On Tue, Jul 08, 2014 at 02:08:38PM +0200, Giuseppe Scrivano wrote:
> Qemu will fallback to aio=threads when the cache mode doesn't use
> O_DIRECT, even if aio=native was explictly set.
>
> Closes:
https://bugzilla.redhat.com/show_bug.cgi?id=1086704
>
> Signed-off-by: Giuseppe Scrivano <gscrivan(a)redhat.com>
> ---
> src/qemu/qemu_command.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index fb64cda..92a6c9a 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -3477,6 +3477,13 @@ qemuBuildDriveStr(virConnectPtr conn,
> mode = qemuDiskCacheV1TypeToString(disk->cachemode);
> }
>
> + if (disk->iomode == VIR_DOMAIN_DISK_IO_NATIVE &&
> + disk->cachemode != VIR_DOMAIN_DISK_CACHE_DIRECTSYNC) {
> + VIR_WARN("native I/O needs either no disk cache "
> + "or directsync cache mode, QEMU will fallback "
> + "to aio=threads");
> + }
VIR_WARN is not really appropriate for warning about things that
are client application mistakes. If this combination of options
does not work or is not supported then we should report an
error about this.
I didn't want to block the VM execution as anyway qemu allows this
combination. I will change it to use virReportError.
Thanks,
Giuseppe