Lines Matching full:zap
2428 * Compare a name with a zap leaf entry. Return non-zero if the name
2460 * Extract a uint64_t value from a zap leaf entry.
2498 * Extract a array from a zap leaf entry.
2566 zap_get_leaf_byblk(fat_zap_t *zap, uint64_t blk, zap_leaf_t **lp) in zap_get_leaf_byblk() argument
2568 int bs = FZAP_BLOCK_SHIFT(zap); in zap_get_leaf_byblk()
2582 err = dnode_read(zap->zap_spa, zap->zap_dnode, blk << bs, (*lp)->l_phys, in zap_get_leaf_byblk()
2591 zap_table_load(fat_zap_t *zap, zap_table_phys_t *tbl, uint64_t idx, in zap_table_load() argument
2594 int bs = FZAP_BLOCK_SHIFT(zap); in zap_table_load()
2600 buf = malloc(1 << zap->zap_block_shift); in zap_table_load()
2603 rc = dnode_read(zap->zap_spa, zap->zap_dnode, (tbl->zt_blk + blk) << bs, in zap_table_load()
2604 buf, 1 << zap->zap_block_shift); in zap_table_load()
2612 zap_idx_to_blk(fat_zap_t *zap, uint64_t idx, uint64_t *valp) in zap_idx_to_blk() argument
2614 if (zap->zap_phys->zap_ptrtbl.zt_numblks == 0) { in zap_idx_to_blk()
2615 *valp = ZAP_EMBEDDED_PTRTBL_ENT(zap, idx); in zap_idx_to_blk()
2618 return (zap_table_load(zap, &zap->zap_phys->zap_ptrtbl, in zap_idx_to_blk()
2625 zap_deref_leaf(fat_zap_t *zap, uint64_t h, zap_leaf_t **lp) in zap_deref_leaf() argument
2630 idx = ZAP_HASH_IDX(h, zap->zap_phys->zap_ptrtbl.zt_shift); in zap_deref_leaf()
2631 err = zap_idx_to_blk(zap, idx, &blk); in zap_deref_leaf()
2634 return (zap_get_leaf_byblk(zap, blk, lp)); in zap_deref_leaf()
2722 * Lookup a name in a zap object and return its value as a uint64_t.
2729 zap_phys_t *zap; in zap_lookup() local
2732 zap = malloc(size); in zap_lookup()
2733 if (zap == NULL) in zap_lookup()
2736 rc = dnode_read(spa, dnode, 0, zap, size); in zap_lookup()
2740 switch (zap->zap_block_type) { in zap_lookup()
2742 rc = mzap_lookup((const mzap_phys_t *)zap, size, name, value); in zap_lookup()
2745 rc = fzap_lookup(spa, dnode, zap, name, integer_size, in zap_lookup()
2750 zap->zap_block_type); in zap_lookup()
2754 free(zap); in zap_lookup()
2879 * List a zap directory.
2884 zap_phys_t *zap; in zap_list() local
2888 zap = malloc(size); in zap_list()
2889 if (zap == NULL) in zap_list()
2892 rc = dnode_read(spa, dnode, 0, zap, size); in zap_list()
2894 if (zap->zap_block_type == ZBT_MICRO) in zap_list()
2895 rc = mzap_list((const mzap_phys_t *)zap, size, in zap_list()
2898 rc = fzap_list(spa, dnode, zap, zfs_printf); in zap_list()
2900 free(zap); in zap_list()
3024 zap_phys_t *zap; in zap_rlookup() local
3028 zap = malloc(size); in zap_rlookup()
3029 if (zap == NULL) in zap_rlookup()
3032 rc = dnode_read(spa, dnode, 0, zap, size); in zap_rlookup()
3034 if (zap->zap_block_type == ZBT_MICRO) in zap_rlookup()
3035 rc = mzap_rlookup((const mzap_phys_t *)zap, size, in zap_rlookup()
3038 rc = fzap_rlookup(spa, dnode, zap, name, value); in zap_rlookup()
3040 free(zap); in zap_rlookup()
3090 /* Lookup the dataset to get the snapname ZAP */ in zfs_rlookup()
3234 printf("ZFS: can't find child zap %ju\n", (uintmax_t)dir_obj); in zfs_list_dataset()
3249 zap_phys_t *zap; in zfs_callback_dataset() local
3272 printf("ZFS: can't find child zap %ju\n", (uintmax_t)dir_obj); in zfs_callback_dataset()
3277 zap = malloc(size); in zfs_callback_dataset()
3278 if (zap != NULL) { in zfs_callback_dataset()
3279 err = dnode_read(spa, &child_dir_zap, 0, zap, size); in zfs_callback_dataset()
3283 if (zap->zap_block_type == ZBT_MICRO) in zfs_callback_dataset()
3284 err = mzap_list((const mzap_phys_t *)zap, size, in zfs_callback_dataset()
3287 err = fzap_list(spa, &child_dir_zap, zap, callback); in zfs_callback_dataset()
3292 free(zap); in zfs_callback_dataset()
3425 zap_phys_t *zap; in check_mos_features() local
3449 zap = malloc(size); in check_mos_features()
3450 if (zap == NULL) in check_mos_features()
3453 if (dnode_read(spa, &dir, 0, zap, size)) { in check_mos_features()
3454 free(zap); in check_mos_features()
3458 if (zap->zap_block_type == ZBT_MICRO) in check_mos_features()
3459 rc = mzap_list((const mzap_phys_t *)zap, size, check_feature); in check_mos_features()
3461 rc = fzap_list(spa, &dir, zap, check_feature); in check_mos_features()
3463 free(zap); in check_mos_features()