Am 05.12.2017 um 16:15 hat Eric Blake geschrieben:
> 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
Am 05.12.2017 um 16:02 hat Paolo Bonzini geschrieben:
> On 05/12/2017 15:54, Kevin Wolf wrote:
> > }
> >
> > +bdrv_drain_invoke(bs, true);
> > bdrv_drain_recurse(bs, true);
> > }
> >
> > @@ -294,6 +298,7 @@ void bdrv_drained_end(BlockDriverState *bs)
> > }
> >
> > bdr
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
> tim
On 05/12/2017 15:54, Kevin Wolf wrote:
> }
>
> +bdrv_drain_invoke(bs, true);
> bdrv_drain_recurse(bs, true);
> }
>
> @@ -294,6 +298,7 @@ void bdrv_drained_end(BlockDriverState *bs)
> }
>
> bdrv_parent_drained_end(bs);
> +bdrv_drain_invoke(bs, false);
> bdrv_d