Lines Matching defs:km
979 key_mapping_add_ref(dsl_key_mapping_t *km, const void *tag)
981 ASSERT3U(zfs_refcount_count(&km->km_refcnt), >=, 1);
982 zfs_refcount_add(&km->km_refcnt, tag);
996 key_mapping_rele(spa_t *spa, dsl_key_mapping_t *km, const void *tag)
998 ASSERT3U(zfs_refcount_count(&km->km_refcnt), >=, 1);
1000 if (zfs_refcount_remove(&km->km_refcnt, tag) != 0)
1010 zfs_refcount_add(&km->km_refcnt, FTAG);
1013 if (zfs_refcount_remove(&km->km_refcnt, FTAG) != 0) {
1018 avl_remove(&spa->spa_keystore.sk_key_mappings, km);
1021 spa_keystore_dsl_key_rele(spa, km->km_key, km);
1022 zfs_refcount_destroy(&km->km_refcnt);
1023 kmem_free(km, sizeof (dsl_key_mapping_t));
1032 dsl_key_mapping_t *km, *found_km;
1036 km = kmem_zalloc(sizeof (dsl_key_mapping_t), KM_SLEEP);
1037 zfs_refcount_create(&km->km_refcnt);
1039 ret = spa_keystore_dsl_key_hold_dd(spa, ds->ds_dir, km, &km->km_key);
1041 zfs_refcount_destroy(&km->km_refcnt);
1042 kmem_free(km, sizeof (dsl_key_mapping_t));
1049 km->km_dsobj = ds->ds_object;
1061 found_km = avl_find(&spa->spa_keystore.sk_key_mappings, km, &where);
1068 zfs_refcount_add(&km->km_refcnt, tag);
1069 avl_insert(&spa->spa_keystore.sk_key_mappings, km, where);
1071 *km_out = km;
1077 spa_keystore_dsl_key_rele(spa, km->km_key, km);
1078 zfs_refcount_destroy(&km->km_refcnt);
1079 kmem_free(km, sizeof (dsl_key_mapping_t));