On Mon, 09/21 19:23, John Snow wrote:
> > void block_job_completed(BlockJob *job, int ret)
> > {
> > BlockDriverState *bs = job->bs;
> > @@ -98,8 +191,13 @@ void block_job_completed(BlockJob *job, int ret)
> > assert(!job->completed);
> > job->completed = true;
> > job->ret =
On 09/15/2015 02:11 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
> [Re
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
> [Rewrite
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
[Rewrite the implementation which is now contained in bloc