diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2016-07-18 18:13:01 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2016-07-18 18:13:01 +0100 |
commit | a098fbc025095a0d98156ada7eac59de97c16499 (patch) | |
tree | 9cebea51d8a9a5b994d4d2294f07695774ac63af /include/block/aio.h | |
parent | 3913d3707e3debfbf0d2d014a1a793394993b088 (diff) | |
parent | e1029ae26d96d5de78c2d9af5eddcea92e73a46a (diff) | |
download | qemu-a098fbc025095a0d98156ada7eac59de97c16499.zip qemu-a098fbc025095a0d98156ada7eac59de97c16499.tar.gz qemu-a098fbc025095a0d98156ada7eac59de97c16499.tar.bz2 |
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging
# gpg: Signature made Mon 18 Jul 2016 17:58:27 BST
# gpg: using RSA key 0x9CA4ABB381AB73C8
# 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:
MAINTAINERS: Add include/block/aio.h to block I/O path section
virtio-blk: dataplane cleanup
checkpatch: consider git extended headers valid patches
aio-posix: remove useless parameter
linux-aio: prevent submitting more than MAX_EVENTS
aio_ctx_check: follow CODING_STYLE
linux-aio: share one LinuxAioState within an AioContext
spec/parallels: fix a mistake
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/block/aio.h')
-rw-r--r-- | include/block/aio.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/include/block/aio.h b/include/block/aio.h index 88a64ee..209551d 100644 --- a/include/block/aio.h +++ b/include/block/aio.h @@ -47,6 +47,9 @@ typedef struct AioHandler AioHandler; typedef void QEMUBHFunc(void *opaque); typedef void IOHandler(void *opaque); +struct ThreadPool; +struct LinuxAioState; + struct AioContext { GSource source; @@ -119,6 +122,13 @@ struct AioContext { /* Thread pool for performing work and receiving completion callbacks */ struct ThreadPool *thread_pool; +#ifdef CONFIG_LINUX_AIO + /* State for native Linux AIO. Uses aio_context_acquire/release for + * locking. + */ + struct LinuxAioState *linux_aio; +#endif + /* TimerLists for calling timers - one per clock type */ QEMUTimerListGroup tlg; @@ -335,6 +345,9 @@ GSource *aio_get_g_source(AioContext *ctx); /* Return the ThreadPool bound to this AioContext */ struct ThreadPool *aio_get_thread_pool(AioContext *ctx); +/* Return the LinuxAioState bound to this AioContext */ +struct LinuxAioState *aio_get_linux_aio(AioContext *ctx); + /** * aio_timer_new: * @ctx: the aio context @@ -439,6 +452,6 @@ static inline bool aio_node_check(AioContext *ctx, bool is_external) * * Initialize the aio context. */ -void aio_context_setup(AioContext *ctx, Error **errp); +void aio_context_setup(AioContext *ctx); #endif |