qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v6 09/14] block: Add block job transactions


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH v6 09/14] block: Add block job transactions
Date: Fri, 18 Sep 2015 13:16:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

On 15.09.2015 08:11, Fam Zheng wrote:
> Sometimes block jobs must execute as a transaction group.  Finishing
> jobs wait until all other jobs are ready to complete successfully.
> Failure or cancellation of one job cancels the other jobs in the group.
> 
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> [Rewrite the implementation which is now contained in block_job_completed.
> --Fam]
> Signed-off-by: Fam Zheng <address@hidden>
> ---
>  blockjob.c               | 135 
> ++++++++++++++++++++++++++++++++++++++++++++++-
>  include/block/block.h    |   1 +
>  include/block/blockjob.h |  38 +++++++++++++
>  3 files changed, 172 insertions(+), 2 deletions(-)
> 

[...]

> diff --git a/include/block/blockjob.h b/include/block/blockjob.h
> index f6e4c86..4999682 100644
> --- a/include/block/blockjob.h
> +++ b/include/block/blockjob.h

[...]

> @@ -395,4 +398,39 @@ void block_job_defer_to_main_loop(BlockJob *job,

[...]

> +
> +/**
> + * block_job_txn_add_job:
> + * @txn: The transaction (may be NULL)
> + * @job: Job to add to the transaction
> + *
> + * Add @job to the transaction.  The @job must not already be in a 
> transaction.
> + * The block job driver must call block_job_txn_unref() in the end to release
> + * the reference that is automatically grabbed here.

Ah, this looks like I got the right version this time. *cough cough*

So, to repeat myself:

To me that sounds a bit as if this should be called e.g. in
block/backup.c:backup_complete(). Maybe add that this is called
automatically by block_job_completed()?

Either way:

Reviewed-by: Max Reitz <address@hidden>

> + */
> +void block_job_txn_add_job(BlockJobTxn *txn, BlockJob *job);
> +
>  #endif


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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