block/coroutines: I/O and "I/O or GS" API
commit1581a70ddd0cd71a8520027d7136ed1e2f6bd19b
authorEmanuele Giuseppe Esposito <eesposit@redhat.com>
Thu, 3 Mar 2022 15:16:09 +0000 (3 10:16 -0500)
committerKevin Wolf <kwolf@redhat.com>
Fri, 4 Mar 2022 17:18:25 +0000 (4 18:18 +0100)
tree1959df08dca1a7e424448e52d4debdc7c5a97b74
parent377cc15bf1994a176162a5f705ff32a38aa55e2c
block/coroutines: I/O and "I/O or GS" API

block coroutines functions run in different aiocontext, and are
not protected by the BQL. Therefore are I/O.

On the other side, generated_co_wrapper functions use BDRV_POLL_WHILE,
meaning the caller can either be the main loop or a specific iothread.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20220303151616.325444-25-eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c
block/block-backend.c
block/coroutines.h
block/io.c
block/nbd.c