Lines Matching defs:km
940 key_mapping_add_ref(dsl_key_mapping_t *km, void *tag)
942 ASSERT3U(zfs_refcount_count(&km->km_refcnt), >=, 1);
943 zfs_refcount_add(&km->km_refcnt, tag);
957 key_mapping_rele(spa_t *spa, dsl_key_mapping_t *km, void *tag)
959 ASSERT3U(zfs_refcount_count(&km->km_refcnt), >=, 1);
961 if (zfs_refcount_remove(&km->km_refcnt, tag) != 0)
971 zfs_refcount_add(&km->km_refcnt, FTAG);
974 if (zfs_refcount_remove(&km->km_refcnt, FTAG) != 0) {
979 avl_remove(&spa->spa_keystore.sk_key_mappings, km);
982 spa_keystore_dsl_key_rele(spa, km->km_key, km);
983 zfs_refcount_destroy(&km->km_refcnt);
984 kmem_free(km, sizeof (dsl_key_mapping_t));
993 dsl_key_mapping_t *km, *found_km;
997 km = kmem_zalloc(sizeof (dsl_key_mapping_t), KM_SLEEP);
998 zfs_refcount_create(&km->km_refcnt);
1000 ret = spa_keystore_dsl_key_hold_dd(spa, ds->ds_dir, km, &km->km_key);
1002 zfs_refcount_destroy(&km->km_refcnt);
1003 kmem_free(km, sizeof (dsl_key_mapping_t));
1010 km->km_dsobj = ds->ds_object;
1022 found_km = avl_find(&spa->spa_keystore.sk_key_mappings, km, &where);
1029 zfs_refcount_add(&km->km_refcnt, tag);
1030 avl_insert(&spa->spa_keystore.sk_key_mappings, km, where);
1032 *km_out = km;
1038 spa_keystore_dsl_key_rele(spa, km->km_key, km);
1039 zfs_refcount_destroy(&km->km_refcnt);
1040 kmem_free(km, sizeof (dsl_key_mapping_t));