diff options
Diffstat (limited to 'include/block/block.h')
-rw-r--r-- | include/block/block.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/block/block.h b/include/block/block.h index 77e91bdc79..610db923d5 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -610,4 +610,23 @@ void bdrv_io_plug(BlockDriverState *bs); void bdrv_io_unplug(BlockDriverState *bs); void bdrv_flush_io_queue(BlockDriverState *bs); +/** + * bdrv_drained_begin: + * + * Begin a quiesced section for exclusive access to the BDS, by disabling + * external request sources including NBD server and device model. Note that + * this doesn't block timers or coroutines from submitting more requests, which + * means block_job_pause is still necessary. + * + * This function can be recursive. + */ +void bdrv_drained_begin(BlockDriverState *bs); + +/** + * bdrv_drained_end: + * + * End a quiescent section started by bdrv_drained_begin(). + */ +void bdrv_drained_end(BlockDriverState *bs); + #endif |