summaryrefslogtreecommitdiffstats
path: root/module/zfs/dnode.c
diff options
context:
space:
mode:
Diffstat (limited to 'module/zfs/dnode.c')
-rw-r--r--module/zfs/dnode.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/module/zfs/dnode.c b/module/zfs/dnode.c
index ef74621a0..815696f70 100644
--- a/module/zfs/dnode.c
+++ b/module/zfs/dnode.c
@@ -1079,6 +1079,11 @@ dnode_hold_impl(objset_t *os, uint64_t object, int flag,
}
if ((winner = dmu_buf_set_user(&db->db, children_dnodes, NULL,
dnode_buf_pageout))) {
+
+ for (i = 0; i < epb; i++) {
+ zrl_destroy(&dnh[i].dnh_zrlock);
+ }
+
kmem_free(children_dnodes, sizeof (dnode_children_t) +
(epb - 1) * sizeof (dnode_handle_t));
children_dnodes = winner;