[PATCH] 2.5.46: overflow in disk stats

From: Lev Makhlis (mlev@despammed.com)
Date: Wed Nov 06 2002 - 00:09:51 EST


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/



This archive was generated by hypermail 2b29 : Thu Nov 07 2002 - 22:00:41 EST