From: Brian Behlendorf Date: Wed, 10 Jul 2013 22:04:07 +0000 (-0700) Subject: Fix bogus kmem leak warning X-Git-Tag: spl-0.6.2~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ab4e74cc38359a1e909febe31e8440a2908bd10e;p=spl Fix bogus kmem leak warning Commit 5c7a036 correctly relocated the creation of a taskq and the registraction of the kmem_cache_shrinker after the initialization of the kmem tracking code. However, the cleanup of these structures was not done before the leak checks in spl_kmem_fini(). This resulted in an incorrect 'kmem leaked' warning even though there was no actual leak. Signed-off-by: Brian Behlendorf Closes zfsonlinux/zfs#1569 --- diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c index f982ed0..8547fa7 100644 --- a/module/spl/spl-kmem.c +++ b/module/spl/spl-kmem.c @@ -2439,6 +2439,11 @@ spl_kmem_init(void) void spl_kmem_fini(void) { + SENTRY; + + spl_unregister_shrinker(&spl_kmem_cache_shrinker); + taskq_destroy(spl_kmem_cache_taskq); + #ifdef DEBUG_KMEM /* Display all unreclaimed memory addresses, including the * allocation size and the first few bytes of what's located @@ -2458,10 +2463,6 @@ spl_kmem_fini(void) spl_kmem_fini_tracking(&kmem_list, &kmem_lock); spl_kmem_fini_tracking(&vmem_list, &vmem_lock); #endif /* DEBUG_KMEM */ - SENTRY; - - spl_unregister_shrinker(&spl_kmem_cache_shrinker); - taskq_destroy(spl_kmem_cache_taskq); SEXIT; }