diff options
author | Massimo Maggi <[email protected]> | 2013-01-18 09:44:09 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-01-18 09:44:55 -0800 |
commit | babf3f9b6d9294b0a88457941d60af5d9d7b744d (patch) | |
tree | 54eb435cda3895eafa6bc3e04eff34718ddc923e /module/nvpair | |
parent | 7973e464de4f93b6e669f7f04a316e013767224e (diff) |
Fix zpool on zvol deadlock
Commit 65d56083b4617a4cade0cff68cbbaf68114169d6 fixes the lock
inversion between spa_namespace_lock and bdev->bd_mutex but only
for the first user of spa_namespace_lock: dmu_objset_own().
Later spa_namespace_lock gets acquired by dsl_prop_get_integer()
though dsl_prop_get()->dsl_dataset_hold()->dsl_dir_open_spa()->
spa_open()->spa_open_common() without this "protection". By
moving the mutex release after this second use, even this
acquisition of the lock is "protected" by the ERESTARTSYS trick.
Signed-off-by: Massimo Maggi <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #1220
Diffstat (limited to 'module/nvpair')
0 files changed, 0 insertions, 0 deletions