diff options
Diffstat (limited to 'module/zfs/dbuf.c')
-rw-r--r-- | module/zfs/dbuf.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/module/zfs/dbuf.c b/module/zfs/dbuf.c index ed6a8fd2a..f5327a34a 100644 --- a/module/zfs/dbuf.c +++ b/module/zfs/dbuf.c @@ -1423,6 +1423,12 @@ dbuf_undirty(dmu_buf_impl_t *db, dmu_tx_t *tx) if (dr->dt.dl.dr_data != db->db_buf) VERIFY(arc_buf_remove_ref(dr->dt.dl.dr_data, db)); } + + if (db->db_level != 0) { + mutex_destroy(&dr->dt.di.dr_mtx); + list_destroy(&dr->dt.di.dr_children); + } + kmem_free(dr, sizeof (dbuf_dirty_record_t)); ASSERT(db->db_dirtycnt > 0); |