diff options
author | Ming Lei <ming.lei@canonical.com> | 2014-07-04 18:04:33 +0800 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2014-07-07 11:05:17 +0200 |
commit | 448ad91db4a560c01f89bd6f7e4bec7d869926a5 (patch) | |
tree | a326648a01081363fdcc6ece7ef45b34e3a0b5eb /include | |
parent | 5a18e67dfd515992076c5fcae47035fdd3ed2462 (diff) | |
download | hqemu-448ad91db4a560c01f89bd6f7e4bec7d869926a5.zip hqemu-448ad91db4a560c01f89bd6f7e4bec7d869926a5.tar.gz |
block: block: introduce APIs for submitting IO as a batch
This patch introduces three APIs so that following
patches can support queuing I/O requests and submitting them
as a batch for improving I/O performance.
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/block/block.h | 4 | ||||
-rw-r--r-- | include/block/block_int.h | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/block/block.h b/include/block/block.h index baecc26..32d3676 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -584,4 +584,8 @@ AioContext *bdrv_get_aio_context(BlockDriverState *bs); */ void bdrv_set_aio_context(BlockDriverState *bs, AioContext *new_context); +void bdrv_io_plug(BlockDriverState *bs); +void bdrv_io_unplug(BlockDriverState *bs); +void bdrv_flush_io_queue(BlockDriverState *bs); + #endif diff --git a/include/block/block_int.h b/include/block/block_int.h index 8f8e65e..f6c3bef 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -261,6 +261,11 @@ struct BlockDriver { void (*bdrv_attach_aio_context)(BlockDriverState *bs, AioContext *new_context); + /* io queue for linux-aio */ + void (*bdrv_io_plug)(BlockDriverState *bs); + void (*bdrv_io_unplug)(BlockDriverState *bs); + void (*bdrv_flush_io_queue)(BlockDriverState *bs); + QLIST_ENTRY(BlockDriver) list; }; |