In __map_bio(), if the target returns an error while mapping the I/O, the
cloned bio needs to be freed.

--- diff/drivers/md/dm.c	2004-05-09 21:33:10.000000000 -0500
+++ source/drivers/md/dm.c	2004-05-19 12:17:56.000000000 -0500
@@ -369,6 +369,7 @@
 		struct dm_io *io = tio->io;
 		free_tio(tio->io->md, tio);
 		dec_pending(io, -EIO);
+		bio_put(clone);
 	}
 }
 
