/* Called when the copy I/O has finished. kcopyd actually runs this code so don't block.  */
static void copy_callback(int read_err, unsigned long write_err, void *context)
/* Called when the copy I/O has finished. kcopyd actually runs this code so don't block.  */
static void copy_callback(int read_err, unsigned long write_err, void *context)
{
	struct dm_snap_pending_exception *pe = context;
	struct dm_snapshot *s = pe->snap;
	if (read_err || write_err)
		pending_complete(pe, 0);
	else
		s->store->type->commit_exception(s->store, &pe->e,
						 commit_callback, pe);
}