diff options
author | Arne Jansen <[email protected]> | 2015-07-02 17:58:17 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-07-06 09:31:35 -0700 |
commit | 5e8cd5d17f21200beb5f6fae8e8be64c0491195d (patch) | |
tree | e714db2ad0eeb07ff449c433a4516dacefe41cc6 /module/zfs/dsl_pool.c | |
parent | 71e2fe41be982076f14fe5d39bcf5f7051a937f0 (diff) |
Illumos 5981 - Deadlock in dmu_objset_find_dp
5981 Deadlock in dmu_objset_find_dp
Reviewed by: Matthew Ahrens <[email protected]>
Reviewed by: Dan McDonald <[email protected]>
Approved by: Robert Mustacchi <[email protected]>
References:
https://www.illumos.org/issues/5981
https://github.com/illumos/illumos-gate/commit/1d3f896
Ported-by: kernelOfTruth [email protected]
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #3553
Diffstat (limited to 'module/zfs/dsl_pool.c')
-rw-r--r-- | module/zfs/dsl_pool.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/module/zfs/dsl_pool.c b/module/zfs/dsl_pool.c index 5d804352d..23cf43862 100644 --- a/module/zfs/dsl_pool.c +++ b/module/zfs/dsl_pool.c @@ -1051,6 +1051,13 @@ dsl_pool_config_enter(dsl_pool_t *dp, void *tag) } void +dsl_pool_config_enter_prio(dsl_pool_t *dp, void *tag) +{ + ASSERT(!rrw_held(&dp->dp_config_rwlock, RW_READER)); + rrw_enter_read_prio(&dp->dp_config_rwlock, tag); +} + +void dsl_pool_config_exit(dsl_pool_t *dp, void *tag) { rrw_exit(&dp->dp_config_rwlock, tag); |