On 09/07/2015 01:34 AM, 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 <[email protected]> > [Rewrite the implementation which is now contained in block_job_completed. > --Fam] > Signed-off-by: Fam Zheng <[email protected]> > --- > blockjob.c | 134 > ++++++++++++++++++++++++++++++++++++++++++++++- > include/block/block.h | 1 + > include/block/blockjob.h | 38 ++++++++++++++ > 3 files changed, 171 insertions(+), 2 deletions(-)
> +static void block_job_completed_txn_success(BlockJob *job)
> +{
> + AioContext *ctx;
> + BlockJobTxn *txn = job->txn;
> + BlockJob *other_job, *next;
> + /*
> + * Successful completion, see if there are other running jobs in this
> + * txn.
> + **/
Unusual **/
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
