/* If we are copying a small region we just dispatch a single job to do the copy, otherwise the io has to be split up into many jobs.  */
static void dispatch_job(struct kcopyd_job *job)
/* If we are copying a small region we just dispatch a single job to do the copy, otherwise the io has to be split up into many jobs.  */
static void dispatch_job(struct kcopyd_job *job)
{
	struct dm_kcopyd_client *kc = job->kc;
	atomic_inc(&kc->nr_jobs);
	if (unlikely(!job->source.count))
		push(&kc->complete_jobs, job);
	else
		push(&kc->pages_jobs, job);
	wake(kc);
}