In the "else" section of __clone_and_map(), we're splitting a page from the
bio into two pages and mapping each part separately. Therefore, we need
another tio structure to track the second part of the page.  [Kevin Corry]

--- diff/drivers/md/dm.c	2003-12-29 10:13:26.000000000 +0000
+++ source/drivers/md/dm.c	2003-12-29 10:14:58.000000000 +0000
@@ -492,6 +492,10 @@
 		len = to_sector(bv->bv_len) - max;
 		clone = split_bvec(bio, ci->sector, ci->idx,
 				   bv->bv_offset + to_bytes(max), len);
+		tio = alloc_tio(ci->md);
+		tio->io = ci->io;
+		tio->ti = ti;
+		memset(&tio->info, 0, sizeof(tio->info));
 		__map_bio(ti, clone, tio);
 
 		ci->sector += len;