Merge 95e65c9b9f
into c8184d714b
This commit is contained in:
commit
42969b44f6
|
@ -1134,6 +1134,7 @@ spa_keystore_lookup_key(spa_t *spa, uint64_t dsobj, const void *tag,
|
||||||
/* init the search key mapping */
|
/* init the search key mapping */
|
||||||
search_km.km_dsobj = dsobj;
|
search_km.km_dsobj = dsobj;
|
||||||
|
|
||||||
|
rw_enter(&spa->spa_keystore.sk_dk_lock, RW_READER);
|
||||||
rw_enter(&spa->spa_keystore.sk_km_lock, RW_READER);
|
rw_enter(&spa->spa_keystore.sk_km_lock, RW_READER);
|
||||||
|
|
||||||
/* remove the mapping from the tree */
|
/* remove the mapping from the tree */
|
||||||
|
@ -1148,6 +1149,7 @@ spa_keystore_lookup_key(spa_t *spa, uint64_t dsobj, const void *tag,
|
||||||
zfs_refcount_add(&found_km->km_key->dck_holds, tag);
|
zfs_refcount_add(&found_km->km_key->dck_holds, tag);
|
||||||
|
|
||||||
rw_exit(&spa->spa_keystore.sk_km_lock);
|
rw_exit(&spa->spa_keystore.sk_km_lock);
|
||||||
|
rw_exit(&spa->spa_keystore.sk_dk_lock);
|
||||||
|
|
||||||
if (dck_out != NULL)
|
if (dck_out != NULL)
|
||||||
*dck_out = found_km->km_key;
|
*dck_out = found_km->km_key;
|
||||||
|
@ -1155,6 +1157,7 @@ spa_keystore_lookup_key(spa_t *spa, uint64_t dsobj, const void *tag,
|
||||||
|
|
||||||
error_unlock:
|
error_unlock:
|
||||||
rw_exit(&spa->spa_keystore.sk_km_lock);
|
rw_exit(&spa->spa_keystore.sk_km_lock);
|
||||||
|
rw_exit(&spa->spa_keystore.sk_dk_lock);
|
||||||
|
|
||||||
if (dck_out != NULL)
|
if (dck_out != NULL)
|
||||||
*dck_out = NULL;
|
*dck_out = NULL;
|
||||||
|
|
Loading…
Reference in New Issue