aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/arc.c
diff options
context:
space:
mode:
Diffstat (limited to 'module/zfs/arc.c')
-rw-r--r--module/zfs/arc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c
index acf98dd2d..492a33a60 100644
--- a/module/zfs/arc.c
+++ b/module/zfs/arc.c
@@ -5691,6 +5691,10 @@ arc_release(arc_buf_t *buf, void *tag)
arc_cksum_verify(buf);
arc_buf_unwatch(buf);
+ /* if this is the last uncompressed buf free the checksum */
+ if (!arc_hdr_has_uncompressed_buf(hdr))
+ arc_cksum_free(hdr);
+
mutex_exit(hash_lock);
/*