Hi, Today one zfs-fuse experienced a problem with a timer overflow on a 32-bit machine with >300 days of uptime.
In arc.c, arc_reclaim_thread() there is an ASSERT(growtime > 0) which fails in these 2 situations: - In kernel context, if lbolt wraps around to a negative value. Since clock_t has 32 bits on 32-bit machines, this will happen after 248.6 days of uptime with a 100 Hz clock tick. - In user context (ztest), lbolt is defined to be (gethrtime() >> 23), which gives us a 119 Hz clock tick, so it will wrap around to a negative value if the machine has more than 208.9 days of uptime. The attached patch should fix this issue. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: timer.patch URL: <http://mail.opensolaris.org/pipermail/zfs-code/attachments/20070223/640128bd/attachment.ksh>