svn commit: r218169 - head/sys/cddl/compat/opensolaris/sys

Martin Matuska mm at
Tue Feb 1 14:28:51 UTC 2011

Author: mm
Date: Tue Feb  1 14:28:50 2011
New Revision: 218169

  For ZFS, change the type of clock_t to int64_t.
  The clock_t type in OpenSolaris is long (int64_t on amd64).
  On FreeBSD clock_t is int32_t. The clock_t type is used in several places
  in the ZFS code to store system uptime in milliseconds ("seconds * hz").
  With hz=1000 we have a 32-bit integer overflow in 24 days, 20 hours,
  31 minutes and 23.648 seconds. This has a user reported negative impact
  on l2arc_feed_thread() and may cause unexpected results from other functions
  using clock_t.
  Reported by:	Artem Belevich <fbsdlist at> on freebsd-fs@
  MFC after:	1 week


Modified: head/sys/cddl/compat/opensolaris/sys/types.h
--- head/sys/cddl/compat/opensolaris/sys/types.h	Tue Feb  1 13:33:49 2011	(r218168)
+++ head/sys/cddl/compat/opensolaris/sys/types.h	Tue Feb  1 14:28:50 2011	(r218169)
@@ -34,6 +34,10 @@
 #include <sys/stdint.h>
+typedef	int64_t		clock_t;
 #include_next <sys/types.h>
 #define	MAXNAMELEN	256

More information about the svn-src-all mailing list