[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] block-backend: add drained_poll
From: |
Kevin Wolf |
Subject: |
Re: [PATCH 1/2] block-backend: add drained_poll |
Date: |
Tue, 1 Jun 2021 17:59:10 +0200 |
Am 01.06.2021 um 07:57 hat Sergio Lopez geschrieben:
> Allow block backends to poll their devices/users to check if they have
> been quiesced when entering a drained section.
>
> This will be used in the next patch to wait for the NBD server to be
> completely quiesced.
>
> Suggested-by: Kevin Wolf <kwolf@redhat.com>
> Signed-off-by: Sergio Lopez <slp@redhat.com>
> ---
> block/block-backend.c | 7 ++++++-
> include/sysemu/block-backend.h | 4 ++++
> 2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/block/block-backend.c b/block/block-backend.c
> index de5496af66..163ca05b97 100644
> --- a/block/block-backend.c
> +++ b/block/block-backend.c
> @@ -2393,8 +2393,13 @@ static void blk_root_drained_begin(BdrvChild *child)
> static bool blk_root_drained_poll(BdrvChild *child)
> {
> BlockBackend *blk = child->opaque;
> + int ret = 0;
It's really a bool.
> assert(blk->quiesce_counter);
> - return !!blk->in_flight;
> +
> + if (blk->dev_ops && blk->dev_ops->drained_poll) {
> + ret = blk->dev_ops->drained_poll(blk->dev_opaque);
> + }
> + return ret || !!blk->in_flight;
> }
Doesn't make a difference for correctness, of course, so whether you
change it or not:
Reviewed-by: Kevin Wolf <kwolf@redhat.com>