diff options
author | Peter Maydell | 2018-06-28 17:28:22 +0200 |
---|---|---|
committer | Peter Maydell | 2018-06-28 17:28:22 +0200 |
commit | 7106a87d96c58a2ad7a4669781e58b22a3081004 (patch) | |
tree | 4c8993ddea1c98a759470b35374f18d7827fec6e /util/async.c | |
parent | Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20180627' i... (diff) | |
parent | linux-aio: properly bubble up errors from initialization (diff) | |
download | qemu-7106a87d96c58a2ad7a4669781e58b22a3081004.tar.gz qemu-7106a87d96c58a2ad7a4669781e58b22a3081004.tar.xz qemu-7106a87d96c58a2ad7a4669781e58b22a3081004.zip |
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging
Pull request
* Gracefully handle Linux AIO init failure
# gpg: Signature made Wed 27 Jun 2018 15:48:28 BST
# gpg: using RSA key 9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
# gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8
* remotes/stefanha/tags/block-pull-request:
linux-aio: properly bubble up errors from initialization
compiler: add a sizeof_field() macro
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'util/async.c')
-rw-r--r-- | util/async.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/util/async.c b/util/async.c index 03f62787f2..05979f8014 100644 --- a/util/async.c +++ b/util/async.c @@ -323,14 +323,22 @@ ThreadPool *aio_get_thread_pool(AioContext *ctx) } #ifdef CONFIG_LINUX_AIO -LinuxAioState *aio_get_linux_aio(AioContext *ctx) +LinuxAioState *aio_setup_linux_aio(AioContext *ctx, Error **errp) { if (!ctx->linux_aio) { - ctx->linux_aio = laio_init(); - laio_attach_aio_context(ctx->linux_aio, ctx); + ctx->linux_aio = laio_init(errp); + if (ctx->linux_aio) { + laio_attach_aio_context(ctx->linux_aio, ctx); + } } return ctx->linux_aio; } + +LinuxAioState *aio_get_linux_aio(AioContext *ctx) +{ + assert(ctx->linux_aio); + return ctx->linux_aio; +} #endif void aio_notify(AioContext *ctx) |