mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
block: add blk_in_drain() API
The BlockBackend quiesce_counter is greater than zero during drained sections. Add an API to check whether the BlockBackend is in a drained section. The next patch will use this API. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <20230516190238.8401-10-stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
9998f70f66
commit
ff82b7835b
2 changed files with 8 additions and 0 deletions
|
@ -1287,6 +1287,13 @@ blk_check_byte_request(BlockBackend *blk, int64_t offset, int64_t bytes)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Are we currently in a drained section? */
|
||||
bool blk_in_drain(BlockBackend *blk)
|
||||
{
|
||||
GLOBAL_STATE_CODE(); /* change to IO_OR_GS_CODE(), if necessary */
|
||||
return qatomic_read(&blk->quiesce_counter);
|
||||
}
|
||||
|
||||
/* To be called between exactly one pair of blk_inc/dec_in_flight() */
|
||||
static void coroutine_fn blk_wait_while_drained(BlockBackend *blk)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue