block: Drain individual nodes during reopen
commitd22933acd2f470eeef779e4d444e848f76dcfaf8
authorKevin Wolf <kwolf@redhat.com>
Fri, 18 Nov 2022 17:41:02 +0000 (18 18:41 +0100)
committerKevin Wolf <kwolf@redhat.com>
Thu, 15 Dec 2022 15:07:42 +0000 (15 16:07 +0100)
tree8d04b9786259a31c0061aa4c7f33408488eb536e
parent2e117866d7c96cc17e84cd2946fee1bf3292d814
block: Drain individual nodes during reopen

bdrv_reopen() and friends use subtree drains as a lazy way of covering
all the nodes they touch. Turns out that this lazy way is a lot more
complicated than just draining the nodes individually, even not
accounting for the additional complexity in the drain mechanism itself.

Simplify the code by switching to draining the individual nodes that are
already managed in the BlockReopenQueue anyway.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20221118174110.55183-8-kwolf@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c
block/replication.c
blockdev.c