On 07.04.20 12:04, Max Reitz wrote: > On 06.04.20 19:14, Kevin Wolf wrote: >> External callers of blk_co_*() don't currently increase the >> BlockBackend.in_flight counter, but calls from blk_aio_*() do, so there >> is an inconsistency whether the counter has been increased or not. >> >> This patch moves the actual operations to static functions that can >> later know they will always be called with in_flight increased exactly >> once, even for external callers using the blk_co_*() coroutine >> interfaces. >> >> If the public blk_co_*() interface is unused, remove it. >> >> Signed-off-by: Kevin Wolf <[email protected]> >> --- >> include/sysemu/block-backend.h | 1 - >> block/block-backend.c | 94 +++++++++++++++++++++++++++------- >> 2 files changed, 76 insertions(+), 19 deletions(-) > > Reviewed-by: Max Reitz <[email protected]>
On second thought (I assumed this would be addressed by the third patch), blk_prw() no longer increments in_flight, but the blk_co_* functions do that now. In v1, blk_prw() did that. I thought we’d want blk_prw() to set in_flight, just like blk_aio_prwv() does, and then let the synchronous functions that use blk_prw() pass the blk_do_* functions to it. Max
signature.asc
Description: OpenPGP digital signature
