|
From: | Hanna Reitz |
Subject: | Re: [RFC PATCH 0/6] Removal of Aiocontext lock and usage of subtree drains in aborted transactions |
Date: | Wed, 15 Dec 2021 13:34:46 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 |
On 14.12.21 19:10, Emanuele Giuseppe Esposito wrote:
On 13/12/2021 15:52, Stefan Hajnoczi wrote:Off-topic: I don't understand the difference between the effects of bdrv_drained_begin() and bdrv_subtree_drained_begin(). Both call aio_disable_external(aio_context) and aio_poll(). bdrv_drained_begin() only polls parents and itself, while bdrv_subtree_drained_begin() also polls children. But why does that distinction matter? I wouldn't know when to use one over the other.Good point. Now I am wondering the same, so it would be great if anyone could clarify it.
As far as I understand, bdrv_drained_begin() is used to drain and stop requests on a single BDS, whereas bdrv_subtree_drained_begin() drains the BDS and all of its children. So when you don’t care about lingering requests in child nodes, then bdrv_drained_begin() suffices.
Hanna
[Prev in Thread] | Current Thread | [Next in Thread] |