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 = ret; > > - job->cb(job->opaque, ret); > > - block_job_unref(job); > > + if (!job->txn) { > > + block_job_completed_single(job); > > + } else if (ret < 0 || block_job_is_cancelled(job)) { > > + block_job_completed_txn_abort(job); > > + } else { > > over here it just appears we assert that ret is simply greater than or > equal to zero.
Yeah, I don't think we have any possible positive ret value. Fam