qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH 5/7] block/mirror: utilize job_exit shim


From: Max Reitz
Subject: Re: [Qemu-block] [PATCH 5/7] block/mirror: utilize job_exit shim
Date: Wed, 22 Aug 2018 14:15:06 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

On 2018-08-17 21:04, John Snow wrote:
> Change the manual deferment to mirror_exit into the implicit
> callback to job_exit and the mirror_exit callback.
> 
> This does change the order of some bdrv_unref calls and job_completed,
> but thanks to the new context in which we call .job_exit, this is safe
> to defer the possible flushing of any nodes to the job_finalize_single
> cleanup stage.

Ah, right, I forgot this.  Hm, what exactly do you mean?  This function
is executed in the main loop, so it can make 'src' go away.  I don't see
any difference to before.

The only difference I see is that the BH-scheduled function is now
job_exit() instead of just mirror_complete() (which is now called as
part of job_exit()).  But then again, it was mirror_complete() itself
that called job_completed(), like it is now job_exit().  So if
everything worked after this patch, I don't see why mirror_complete()
would bdrv_ref() 'src' around job_completed().

Max

> Signed-off-by: John Snow <address@hidden>
> ---
>  block/mirror.c | 25 +++++++++----------------
>  1 file changed, 9 insertions(+), 16 deletions(-)

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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