[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PATCH 1/4] block: Make bdrv_drain_invoke(

From: Eric Blake
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH 1/4] block: Make bdrv_drain_invoke() recursive
Date: Tue, 5 Dec 2017 09:15:31 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

On 12/05/2017 08:54 AM, Kevin Wolf wrote:
> This change separates bdrv_drain_invoke(), which calls the BlockDriver
> drain callbacks, from bdrv_drain_recurse(). Instead, the function
> performs its own recursion now.
> One reason for this is that bdrv_drain_recurse() can be called multiple
> times bdrv_drain_recurse(),

Doesn't read right.  Should the second instance be changed to 'by
itself', or is the correct meaning something else?

> but the callbacks may only be called once.
> The separation is necessary to fix this bug.
> The other reasons is that we intend to go to model where we call all


> driver callbacks first, and only then start polling. This is not fully
> achieved yet with this patch, as bdrv_drain_invoke() contains a
> BDRV_POLL_WHILE() loop for the block driver callbacks which can still
> call callbacks for any unrelated event. It's a step in this direction
> anyway.
> Cc: address@hidden
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
>  block/io.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)

Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]