@@ -530,6 +530,11 @@ void bdrv_flush_io_queue(BlockDriverState *bs);
* this doesn't block timers or coroutines from submitting more requests, which
* means block_job_pause is still necessary.
*
+ * for now this only affacts the aio event loops (namely the data-plane
+ * iothreads and nested aio_poll() calls in block layer). Specifically, the
+ * main loop can still dispatch external events, even after bdrv_drained_begin
+ * is called.
+ *
* This function can be recursive.
*/
void bdrv_drained_begin(BlockDriverState *bs);
The limitation should be documented. Removing it is a post 2.6 material. Signed-off-by: Fam Zheng <famz@redhat.com> --- include/block/block.h | 5 +++++ 1 file changed, 5 insertions(+)