qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PATCH] raw-posix: Make aio=native option


From: Christian Borntraeger
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH] raw-posix: Make aio=native option binding
Date: Tue, 15 Dec 2015 13:26:33 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0



On 12/15/2015 11:42 AM, Kevin Wolf wrote:


> Subject: [PATCH] raw-posix: Make aio=native option binding

bike-shedding, but is there a better wording for the subject line,
e.g. something like

raw-posix: error out on invalid configurations for aio=native

or something like that


> Traditionally, aio=native was treated as an advice that could simply be
> ignored if an error occurs while initialising Linux AIO or the feature
> wasn't compiled in. This behaviour was deprecated in commit 96518254
> (qemu 2.3; error during init) and commit 1501ecc1 (qemu 2.5; not
> compiled in).
> 
> This patch changes raw-posix to error out in these cases instead of
> printing a deprecation warning.
> 
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
>  block/raw-posix.c | 20 ++++++++------------
>  1 file changed, 8 insertions(+), 12 deletions(-)
> 
> diff --git a/block/raw-posix.c b/block/raw-posix.c
> index d9162fd..cb26dcb 100644
> --- a/block/raw-posix.c
> +++ b/block/raw-posix.c
> @@ -500,21 +500,17 @@ static int raw_open_common(BlockDriverState *bs, QDict 
> *options,
>          goto fail;
>      }
>      if (!s->use_aio && (bdrv_flags & BDRV_O_NATIVE_AIO)) {
> -        error_printf("WARNING: aio=native was specified for '%s', but "
> -                     "it requires cache.direct=on, which was not "
> -                     "specified. Falling back to aio=threads.\n"
> -                     "         This will become an error condition in "
> -                     "future QEMU versions.\n",
> -                     bs->filename);
> +        error_setg(errp, "aio=native was specified, but it requires "
> +                         "cache.direct=on, which was not specified.");
> +        ret = -EINVAL;
> +        goto fail;

In the real life this is probably the right thing to do.
On the other hand its a Linux kernel implementation detail that aio does
only work with O_DIRECT. But anyway, if Linux aio gets fixed we can 
change QEMU again.


>      }
>  #else
>      if (bdrv_flags & BDRV_O_NATIVE_AIO) {
> -        error_printf("WARNING: aio=native was specified for '%s', but "
> -                     "is not supported in this build. Falling back to "
> -                     "aio=threads.\n"
> -                     "         This will become an error condition in "
> -                     "future QEMU versions.\n",
> -                     bs->filename);
> +        error_setg(errp, "aio=native was specified, but is not supported "
> +                         "in this build.");
> +        ret = -EINVAL;
> +        goto fail;


We certainly want to error out in this case.

Acked-by: Christian Borntraeger <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]