freebsd-dev/sys/cddl
Andriy Gapon 9d6810819c MFV r329713: 8731 ASSERT3U(nui64s, <=, UINT16_MAX) fails for large blocks
illumos/illumos-gate@a6c1eb3c08
a6c1eb3c08

https://www.illumos.org/issues/8731
  annotate_ecksum() asserts that nui64s, calculated as nui64s = size / sizeof
  (uint64_t), is not greater than UINT16_MAX.
  This restriction is needed because histograms of incorrectly set and cleared
  bits have 16 bit counters and if the buffer consists of too many 64-bit words,
  then a counter can potentially overflow producing an incorrect result.
  When the largest buffer size was 128KB the greatest value of nui64s was 16K,
  well within the limit.
  But now we have support for large buffers and for buffer sizes of 512KB and
  above the restriction is violated.

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@joyent.com>
Author: Andriy Gapon <avg@FreeBSD.org>
MFC after:	2 weeks
2018-02-21 14:31:48 +00:00
..
boot/zfs Mark two things as unused (since they are only sometimes used) and 2017-12-03 04:55:33 +00:00
compat/opensolaris Use per-domain locks for vm page queue free. Move paging control from 2018-02-06 22:10:07 +00:00
contrib/opensolaris MFV r329713: 8731 ASSERT3U(nui64s, <=, UINT16_MAX) fails for large blocks 2018-02-21 14:31:48 +00:00
dev Avoid CPU migration in dtrace_gethrtime() on x86. 2017-12-18 17:26:24 +00:00