diff options
author | Brian Behlendorf <[email protected]> | 2016-01-26 17:54:45 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-01-28 12:45:39 -0500 |
commit | e56766360bd392bf9b8e5b9c2285ed35e1a066ea (patch) | |
tree | da706506d5ca3f969057c7d15dd4ae96505eeb3d | |
parent | b6fcb792ca2dad7fb2d190efa416ad8b718675b4 (diff) |
Illumos 6495 - Fix mutex leak in dmu_objset_find_dp
6495 Fix mutex leak in dmu_objset_find_dp
Reviewed by: George Wilson <[email protected]>
Reviewed by: Matthew Ahrens <[email protected]>
Approved by: Albert Lee <[email protected]>
References:
https://www.illumos.org/issues/6495
https://github.com/illumos/illumos-gate/commit/2bad225
Ported-by: Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chunwei Chen <[email protected]>
-rw-r--r-- | module/zfs/dmu_objset.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/module/zfs/dmu_objset.c b/module/zfs/dmu_objset.c index 7e3a5fb20..acfc7f048 100644 --- a/module/zfs/dmu_objset.c +++ b/module/zfs/dmu_objset.c @@ -1785,6 +1785,7 @@ dmu_objset_find_dp(dsl_pool_t *dp, uint64_t ddobj, * thread suffices. For now, stay single threaded. */ dmu_objset_find_dp_impl(dcp); + mutex_destroy(&err_lock); return (error); } @@ -1796,6 +1797,8 @@ dmu_objset_find_dp(dsl_pool_t *dp, uint64_t ddobj, INT_MAX, 0); if (tq == NULL) { kmem_free(dcp, sizeof (*dcp)); + mutex_destroy(&err_lock); + return (SET_ERROR(ENOMEM)); } dcp->dc_tq = tq; |