Skip to content
This repository has been archived by the owner on Nov 7, 2019. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
8731 ASSERT3U(nui64s, <=, UINT16_MAX) fails for large blocks
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@joyent.com>
  • Loading branch information
avg-I authored and prakashsurya committed Jan 24, 2018
1 parent f4f14d9 commit a6c1eb3
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions usr/src/uts/common/fs/zfs/zfs_fm.c
Expand Up @@ -360,8 +360,8 @@ zfs_ereport_start(nvlist_t **ereport_out, nvlist_t **detector_out,

typedef struct zfs_ecksum_info {
/* histograms of set and cleared bits by bit number in a 64-bit word */
uint16_t zei_histogram_set[sizeof (uint64_t) * NBBY];
uint16_t zei_histogram_cleared[sizeof (uint64_t) * NBBY];
uint32_t zei_histogram_set[sizeof (uint64_t) * NBBY];
uint32_t zei_histogram_cleared[sizeof (uint64_t) * NBBY];

/* inline arrays of bits set and cleared. */
uint64_t zei_bits_set[ZFM_MAX_INLINE];
Expand All @@ -386,7 +386,7 @@ typedef struct zfs_ecksum_info {
} zfs_ecksum_info_t;

static void
update_histogram(uint64_t value_arg, uint16_t *hist, uint32_t *count)
update_histogram(uint64_t value_arg, uint32_t *hist, uint32_t *count)
{
size_t i;
size_t bits = 0;
Expand Down Expand Up @@ -552,7 +552,7 @@ annotate_ecksum(nvlist_t *ereport, zio_bad_cksum_t *info,
if (badbuf == NULL || goodbuf == NULL)
return (eip);

ASSERT3U(nui64s, <=, UINT16_MAX);
ASSERT3U(nui64s, <=, UINT32_MAX);
ASSERT3U(size, ==, nui64s * sizeof (uint64_t));
ASSERT3U(size, <=, SPA_MAXBLOCKSIZE);
ASSERT3U(size, <=, UINT32_MAX);
Expand Down Expand Up @@ -654,10 +654,10 @@ annotate_ecksum(nvlist_t *ereport, zio_bad_cksum_t *info,
} else {
fm_payload_set(ereport,
FM_EREPORT_PAYLOAD_ZFS_BAD_SET_HISTOGRAM,
DATA_TYPE_UINT16_ARRAY,
DATA_TYPE_UINT32_ARRAY,
NBBY * sizeof (uint64_t), eip->zei_histogram_set,
FM_EREPORT_PAYLOAD_ZFS_BAD_CLEARED_HISTOGRAM,
DATA_TYPE_UINT16_ARRAY,
DATA_TYPE_UINT32_ARRAY,
NBBY * sizeof (uint64_t), eip->zei_histogram_cleared,
NULL);
}
Expand Down

0 comments on commit a6c1eb3

Please sign in to comment.