From e04210035eba31c40978658b8d2fa7f823a9f7de Mon Sep 17 00:00:00 2001 From: Jorgen Lundman Date: Tue, 20 Jul 2021 23:08:45 +0900 Subject: [PATCH] dmu_redact.c does not call bqueue_destroy Ensure all calls to bqueue_init() has a corresponding call to bqueue_destroy() Reviewed-by: Paul Dagnelie Co-authored-by: Brian Behlendorf Signed-off-by: Jorgen Lundman Closes #12118 --- module/zfs/dmu_redact.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/module/zfs/dmu_redact.c b/module/zfs/dmu_redact.c index 62c7d01d4..fdbdf7d6e 100644 --- a/module/zfs/dmu_redact.c +++ b/module/zfs/dmu_redact.c @@ -816,6 +816,7 @@ perform_thread_merge(bqueue_t *q, uint32_t num_threads, avl_remove(&end_tree, &redact_nodes[i]); kmem_free(redact_nodes[i].record, sizeof (struct redact_record)); + bqueue_destroy(&thread_args[i].q); } avl_destroy(&start_tree); @@ -1164,6 +1165,7 @@ dmu_redact_snap(const char *snapname, nvlist_t *redactnvl, (void) thread_create(NULL, 0, redact_merge_thread, rmta, 0, curproc, TS_RUN, minclsyspri); err = perform_redaction(os, new_rl, rmta); + bqueue_destroy(&rmta->q); kmem_free(rmta, sizeof (struct redact_merge_thread_arg)); out: