27.04.2020 17:38, Vladimir Sementsov-Ogievskiy wrote:
Hi all!

This is inspired by Kevin's
"block: Fix blk->in_flight during blk_wait_while_drained()" series.

So, like it's now done for block-backends, let's expand
in_flight-protected sections for bdrv_ interfaces, including
coroutine_enter and BDRV_POLL_WHILE loop into these sections.


OK, let's postpone this thing.

1. Idea to move ind/dec out of coroutine seems wrong, it leads to dead-lock, as 
shown in backtrace in my answer to 5/9.

2. Idea to keep request inside only one pair of ind/dec is probably an extra 
restriction in bdrv layer (I just blindly followed how it was done in blk layer 
by Kevin)

3. We still may have a theoretical race between request start and drained 
section start, but it needs another audit and smarter solution.

So, seems that we should not apply these series as it is, sorry for the noise. 
I think, I'll resend my 64bit-block-layer series based on master instead of 
this one.

--
Best regards,
Vladimir

Reply via email to