summaryrefslogtreecommitdiffstats
path: root/include/block/coroutine.h
diff options
context:
space:
mode:
authorPeter Maydell2014-08-15 15:49:50 +0200
committerPeter Maydell2014-08-15 15:49:50 +0200
commitf2fb1da9412ae7b4cb512cfbd86c0185f191e2f9 (patch)
tree94e077ff9f6c344af73d34bd66468b8852ce2c37 /include/block/coroutine.h
parentMerge remote-tracking branch 'remotes/mjt/tags/trivial-patches-2014-08-09' in... (diff)
parentblock: Catch !bs->drv in bdrv_check() (diff)
downloadqemu-f2fb1da9412ae7b4cb512cfbd86c0185f191e2f9.tar.gz
qemu-f2fb1da9412ae7b4cb512cfbd86c0185f191e2f9.tar.xz
qemu-f2fb1da9412ae7b4cb512cfbd86c0185f191e2f9.zip
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block patches # gpg: Signature made Fri 15 Aug 2014 14:07:42 BST using RSA key ID C88F2FD6 # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" * remotes/kevin/tags/for-upstream: (59 commits) block: Catch !bs->drv in bdrv_check() iotests: Add test for image header overlap qcow2: Catch !*host_offset for data allocation qcow2: Return useful error code in refcount_init() mirror: Handle failure for potentially large allocations vpc: Handle failure for potentially large allocations vmdk: Handle failure for potentially large allocations vhdx: Handle failure for potentially large allocations vdi: Handle failure for potentially large allocations rbd: Handle failure for potentially large allocations raw-win32: Handle failure for potentially large allocations raw-posix: Handle failure for potentially large allocations qed: Handle failure for potentially large allocations qcow2: Handle failure for potentially large allocations qcow1: Handle failure for potentially large allocations parallels: Handle failure for potentially large allocations nfs: Handle failure for potentially large allocations iscsi: Handle failure for potentially large allocations dmg: Handle failure for potentially large allocations curl: Handle failure for potentially large allocations ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/block/coroutine.h')
-rw-r--r--include/block/coroutine.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/block/coroutine.h b/include/block/coroutine.h
index b408f96b82..b9b7f488c9 100644
--- a/include/block/coroutine.h
+++ b/include/block/coroutine.h
@@ -223,4 +223,15 @@ void coroutine_fn co_aio_sleep_ns(AioContext *ctx, QEMUClockType type,
* Note that this function clobbers the handlers for the file descriptor.
*/
void coroutine_fn yield_until_fd_readable(int fd);
+
+/**
+ * Add or subtract from the coroutine pool size
+ *
+ * The coroutine implementation keeps a pool of coroutines to be reused by
+ * qemu_coroutine_create(). This makes coroutine creation cheap. Heavy
+ * coroutine users should call this to reserve pool space. Call it again with
+ * a negative number to release pool space.
+ */
+void qemu_coroutine_adjust_pool_size(int n);
+
#endif /* QEMU_COROUTINE_H */