uint64_t -> unsigned long long --- diff/drivers/md/dm-iostats.c 2002-12-17 14:42:28.000000000 +0000 +++ source/drivers/md/dm-iostats.c 2002-12-17 14:38:29.000000000 +0000 @@ -21,14 +21,14 @@ spinlock_t lock; unsigned long flags; struct dm_dev *dev; - uint64_t ios[2]; + unsigned long long ios[2]; /* * These fields are only present if we are recording the * io latency. */ - uint64_t start[2]; - uint64_t end[2]; + unsigned long long start[2]; + unsigned long long end[2]; }; /* @@ -88,11 +88,20 @@ kfree(ic); } +static int rw_to_index(int rw) +{ + if (rw == WRITE) + return 1; + + return 0; +} + /* read/write statistics mapping */ static int iostats_map(struct dm_target *ti, struct buffer_head *bh, int rw) { int flags; struct iostats_c *ic = (struct iostats_c *) ti->private; + rw = rw_to_index(rw); spin_lock_irqsave(&ic->lock, flags); @@ -116,16 +125,18 @@ { int flags; struct iostats_c *ic = ti->private; + rw = rw_to_index(rw); spin_lock_irqsave(&ic->lock, flags); if (test_bit(IOF_LATENCY, &ic->flags)) - ic->end[rw] += (uint64_t) jiffies; + ic->end[rw] += (unsigned long long) jiffies; spin_unlock_irqrestore(&ic->lock, flags); } -static void div64(uint64_t a, uint64_t b, uint64_t *n) +static void div64(unsigned long long a, unsigned long long b, + unsigned long long *n) { sector_t acc, prev, i; @@ -144,16 +155,16 @@ /* * Calculates the average latency in milliseconds. */ -static unsigned long calc_latency(struct iostats_c *ic, int rw) +static unsigned long calc_latency(struct iostats_c *ic, int index) { - uint64_t delta, n; + unsigned long long delta, n; unsigned long latency; - if (!ic->ios[rw]) + if (!ic->ios[index]) return 0; - delta = ic->end[rw] - ic->start[rw]; - div64(delta, ic->ios[rw], &n); + delta = ic->end[index] - ic->start[index]; + div64(delta, ic->ios[index], &n); latency = (unsigned long) n; latency *= 1000; @@ -172,14 +183,13 @@ if (!test_bit(IOF_LATENCY, &ic->flags)) { snprintf(result, maxlen, "%s %Lu %Lu", kdevname(to_kdev_t(ic->dev->bdev->bd_dev)), - ic->ios[READ], ic->ios[WRITE]); + ic->ios[0], ic->ios[1]); } else { snprintf(result, maxlen, "%s %Lu %Lu %lu %lu", kdevname(to_kdev_t(ic->dev->bdev->bd_dev)), - ic->ios[READ], ic->ios[WRITE], - calc_latency(ic, READ), - calc_latency(ic, WRITE)); + ic->ios[0], ic->ios[1], + calc_latency(ic, 0), calc_latency(ic, 1)); } break;