Am 07.04.2020 um 12:15 hat Max Reitz geschrieben: > 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 <kw...@redhat.com> > >> --- > >> include/sysemu/block-backend.h | 1 - > >> block/block-backend.c | 94 +++++++++++++++++++++++++++------- > >> 2 files changed, 76 insertions(+), 19 deletions(-) > > > > Reviewed-by: Max Reitz <mre...@redhat.com> > > 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.
Does it make a difference, though? But the change should be easy enough (inc/dec in blk_prw() and the let *_entry() call blk_do_*() instead of blk_co_*()) that I guess I can just do it and send a v3. Kevin
signature.asc
Description: PGP signature