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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to