[PATCH] 2.5.46: overflow in disk stats

Lev Makhlis (mlev@despammed.com)
Wed, 6 Nov 2002 00:09:51 -0500


Hi,

I see that the SARD changes have been merged, but MSEC() still has
the overflow problem. This takes care of it:

--------------------------------------------------------------------------------------------------

diff -urN linux-2.5.46.orig/drivers/block/genhd.c
linux-2.5.46/drivers/block/genhd.c
--- linux-2.5.46.orig/drivers/block/genhd.c Tue Nov 5 15:15:07 2002
+++ linux-2.5.46/drivers/block/genhd.c Tue Nov 5 16:14:35 2002
@@ -326,7 +326,13 @@
}
static inline unsigned MSEC(unsigned x)
{
- return x * 1000 / HZ;
+#if 1000 % HZ == 0
+ return x * (1000 / HZ);
+#elif HZ % 1000 == 0
+ return x / (HZ / 1000);
+#else
+ return (x / HZ) * 1000 + (x % HZ) * 1000 / HZ;
+#endif
}
static ssize_t disk_stat_read(struct gendisk * disk,
char *page, size_t count, loff_t off)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/