diff options
author | avg <avg@FreeBSD.org> | 2016-06-13 18:39:13 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2016-06-13 18:39:13 +0000 |
commit | 542bc13e581abc43081af7c269422f46a2da85e3 (patch) | |
tree | 2f82b70cef7d89de0b1791fb961dec938adb6931 | |
parent | ccff332313188686e9815f4bc87de01bfa6919fd (diff) | |
download | FreeBSD-src-542bc13e581abc43081af7c269422f46a2da85e3.zip FreeBSD-src-542bc13e581abc43081af7c269422f46a2da85e3.tar.gz |
l2arc: reset b_tmp_cdata to NULL in the case of unset b_daddr
The change is in arc_buf_l2_cdata_free().
Without this we can trip the assertion in arc_hdr_realloc()
if INVARIANTS option is enabled.
Approved by: re (kib)
MFC after: 1 week
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c index 3bb9146..cdc8009 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c @@ -2249,6 +2249,7 @@ arc_buf_l2_cdata_free(arc_buf_hdr_t *hdr) ASSERT3P(hdr->b_l1hdr.b_tmp_cdata, ==, hdr->b_l1hdr.b_buf->b_data); ASSERT3U(hdr->b_l2hdr.b_compress, ==, ZIO_COMPRESS_OFF); + hdr->b_l1hdr.b_tmp_cdata = NULL; return; } |