[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 04/19] block: move aio initialization into a
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v4 04/19] block: move aio initialization into a helper function |
Date: |
Fri, 21 Sep 2012 12:03:24 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 |
Am 20.09.2012 21:13, schrieb Jeff Cody:
> Move AIO initialization for raw-posix block driver into a helper function.
>
> In addition to just code motion, the aio_ctx pointer is checked for NULL,
> prior to calling laio_init(), to make sure laio_init() is only run once.
>
> Signed-off-by: Jeff Cody <address@hidden>
> ---
> block/raw-posix.c | 53 +++++++++++++++++++++++++++++++++++------------------
> 1 file changed, 35 insertions(+), 18 deletions(-)
>
> diff --git a/block/raw-posix.c b/block/raw-posix.c
> index 6be20b1..5981d04 100644
> --- a/block/raw-posix.c
> +++ b/block/raw-posix.c
> @@ -240,25 +272,10 @@ static int raw_open_common(BlockDriverState *bs, const
> char *filename,
> }
>
> #ifdef CONFIG_LINUX_AIO
> - /*
> - * Currently Linux do AIO only for files opened with O_DIRECT
> - * specified so check NOCACHE flag too
> - */
> - if ((bdrv_flags & (BDRV_O_NOCACHE|BDRV_O_NATIVE_AIO)) ==
> - (BDRV_O_NOCACHE|BDRV_O_NATIVE_AIO)) {
> -
> - s->aio_ctx = laio_init();
> - if (!s->aio_ctx) {
> - goto out_free_buf;
> - }
> - s->use_aio = 1;
> - } else
> -#endif
> - {
> -#ifdef CONFIG_LINUX_AIO
> - s->use_aio = 0;
> -#endif
> + if (raw_set_aio(&s->aio_ctx, &s->use_aio, bdrv_flags)) {
> + goto out_close;
This leaks s->aligned_buf. It's removed later in the series anyway, so
no big deal, but if you need to respin for other reasons, probably worth
fixing.
Kevin
- [Qemu-devel] [PATCH v4 00/19] block: bdrv_reopen() patches, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 02/19] block: make bdrv_set_enable_write_cache() modify open_flags, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 03/19] block: Framework for reopening files safely, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 04/19] block: move aio initialization into a helper function, Jeff Cody, 2012/09/20
- Re: [Qemu-devel] [PATCH v4 04/19] block: move aio initialization into a helper function,
Kevin Wolf <=
- [Qemu-devel] [PATCH v4 01/19] block: correctly set the keep_read_only flag, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 06/19] block: do not parse BDRV_O_CACHE_WB in block drivers, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 07/19] block: use BDRV_O_NOCACHE instead of s->aligned_buf in raw-posix.c, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 05/19] block: move open flag parsing in raw block drivers to helper functions, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 09/19] block: raw-posix image file reopen, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 08/19] block: purge s->aligned_buf and s->aligned_buf_size from raw-posix.c, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 12/19] block: qcow2 image file reopen, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 19/19] block: remove keep_read_only flag from BlockDriverState struct, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 10/19] block: raw image file reopen, Jeff Cody, 2012/09/20
- [Qemu-devel] [PATCH v4 17/19] block: vpc image file reopen, Jeff Cody, 2012/09/20