|
From: | Vladimir Sementsov-Ogievskiy |
Subject: | Re: [PATCH 7/7] block/nbd: stop manipulating in_flight counter |
Date: | Mon, 15 Mar 2021 23:15:44 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
15.03.2021 09:06, Roman Kagan wrote:
As the reconnect logic no longer interferes with drained sections, it appears unnecessary to explicitly manipulate the in_flight counter. Fixes: 5ad81b4946 ("nbd: Restrict connection_co reentrance")
And here you actually allow qemu_aio_coroutine_enter() call in nbd_client_attach_aio_context_bh() to enter connection_co in any yield point which is possible during drained section. The analysis should be done to be sure that all these yield points are safe for reentering by external qemu_aio_coroutine_enter(). (By external I mean not by the actual enter() we are waiting for at the yield() point. For example qemu_channel_yield() supports reentering.. And therefore (as I understand after fast looking through) nbd_read() should support reentering too.. -- Best regards, Vladimir
[Prev in Thread] | Current Thread | [Next in Thread] |