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 <kw...@redhat.com> > Signed-off-by: Sergio Lopez <s...@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 <kw...@redhat.com>