Record basic I/O statistics for mapped devices.

From: Kevin Corry <kevcorry@us.ibm.com>
Signed-Off-By: Alasdair G Kergon <agk@redhat.com>

Index: linux-2.6.14/drivers/md/dm.c
===================================================================
--- linux-2.6.14.orig/drivers/md/dm.c	2005-11-14 23:11:24.000000000 +0000
+++ linux-2.6.14/drivers/md/dm.c	2005-11-16 19:34:50.000000000 +0000
@@ -577,6 +577,14 @@ static int dm_request(request_queue_t *q
 
 	down_read(&md->io_lock);
 
+	if (bio_data_dir(bio) == WRITE) {
+		disk_stat_inc(dm_disk(md), writes);
+		disk_stat_add(dm_disk(md), write_sectors, bio_sectors(bio));
+	} else {
+		disk_stat_inc(dm_disk(md), reads);
+		disk_stat_add(dm_disk(md), read_sectors, bio_sectors(bio));
+	}
+
 	/*
 	 * If we're suspended we have to queue
 	 * this io for later.