block: don't acquire AioContext lock in bdrv_drain_all()
commitd5eab432b0eb3edfe63a89dd1e3c5c946b92afaa
authorStefan Hajnoczi <stefanha@redhat.com>
Thu, 9 Mar 2023 19:08:50 +0000 (9 14:08 -0500)
committerKevin Wolf <kwolf@redhat.com>
Tue, 25 Apr 2023 11:17:23 +0000 (25 13:17 +0200)
treeb1c9cf71d651b4c5055a75250ee3492dc1d38717
parent407ae2ae0714be309808a10997c248521b184006
block: don't acquire AioContext lock in bdrv_drain_all()

There is no need for the AioContext lock in bdrv_drain_all() because
nothing in AIO_WAIT_WHILE() needs the lock and the condition is atomic.

AIO_WAIT_WHILE_UNLOCKED() has no use for the AioContext parameter other
than performing a check that is nowadays already done by the
GLOBAL_STATE_CODE()/IO_CODE() macros. Set the ctx argument to NULL here
to help us keep track of all converted callers. Eventually all callers
will have been converted and then the argument can be dropped entirely.

Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230309190855.414275-2-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/block-backend.c