Include total io stats.

variable 'i' should be an 'unsigned long long' in dev64.
--- diff/drivers/md/dm-iostats.c	2002-12-17 16:30:09.000000000 +0000
+++ source/drivers/md/dm-iostats.c	2002-12-17 16:35:33.000000000 +0000
@@ -22,6 +22,7 @@
 	unsigned long flags;
 	struct dm_dev *dev;
 	unsigned long long ios[2];
+	unsigned long long totals[2];
 
 	/*
 	 * These fields are only present if we are recording the
@@ -106,6 +107,8 @@
 	spin_lock_irqsave(&ic->lock, flags);
 
 	ic->ios[rw]++;
+	ic->totals[rw] += (bh->b_size >> 9);
+
 	if (test_bit(IOF_LATENCY, &ic->flags))
 		ic->start[rw] += jiffies;
 
@@ -138,7 +141,7 @@
 static void div64(unsigned long long a, unsigned long long b,
 		  unsigned long long *n)
 {
-	unsigned int i;
+	unsigned long long i;
 	unsigned long long acc, prev;
 
 	*n = 0;
@@ -182,14 +185,16 @@
 	switch (type) {
 	case STATUSTYPE_INFO:
 		if (!test_bit(IOF_LATENCY, &ic->flags)) {
-			snprintf(result, maxlen, "%s %Lu %Lu",
+			snprintf(result, maxlen, "%s %Lu %Lu %Lu %Lu",
 				 kdevname(to_kdev_t(ic->dev->bdev->bd_dev)),
-				 ic->ios[0], ic->ios[1]);
+				 ic->ios[0], ic->ios[1],
+				 ic->totals[0], ic->totals[1]);
 
 		} else {
-			snprintf(result, maxlen, "%s %Lu %Lu %lu %lu",
+			snprintf(result, maxlen, "%s %Lu %Lu %Lu %Lu %lu %lu",
 				 kdevname(to_kdev_t(ic->dev->bdev->bd_dev)),
 				 ic->ios[0], ic->ios[1],
+				 ic->totals[0], ic->totals[1],
 				 calc_latency(ic, 0), calc_latency(ic, 1));
 		}
 		break;
