Home
last modified time | relevance | path

Searched full:zap (Results 1 – 25 of 377) sorted by relevance

12345678910>>...16

/freebsd/sys/contrib/openzfs/module/zfs/
H A Dzap_fat.c52 #include <sys/zap.h>
57 * If zap_iterate_prefetch is set, we will prefetch the entire ZAP object
73 * Given that the ZAP entries aren't returned in a specific order, the only
87 * Enable ZAP shrinking. When enabled, empty sibling leaf blocks will be
94 static uint64_t zap_allocate_blocks(zap_t *zap, int nblocks);
111 fzap_upgrade(zap_t *zap, dmu_tx_t *tx, zap_flags_t flags) in fzap_upgrade() argument
113 ASSERT(RW_WRITE_HELD(&zap->zap_rwlock)); in fzap_upgrade()
114 zap->zap_ismicro = FALSE; in fzap_upgrade()
116 zap->zap_dbu.dbu_evict_func_sync = zap_evict_sync; in fzap_upgrade()
117 zap->zap_dbu.dbu_evict_func_async = NULL; in fzap_upgrade()
[all …]
H A Dzap_micro.c35 #include <sys/zap.h>
114 mze_insert(zap_t *zap, uint16_t chunkid, uint64_t hash) in ZFS_BTREE_FIND_IN_BUF_FUNC()
118 ASSERT(zap->zap_ismicro); in ZFS_BTREE_FIND_IN_BUF_FUNC()
119 ASSERT(RW_WRITE_HELD(&zap->zap_rwlock)); in ZFS_BTREE_FIND_IN_BUF_FUNC()
124 ASSERT3U(MZE_PHYS(zap, &mze)->mze_cd, <=, 0xffff); in ZFS_BTREE_FIND_IN_BUF_FUNC()
125 mze.mze_cd = (uint16_t)MZE_PHYS(zap, &mze)->mze_cd; in ZFS_BTREE_FIND_IN_BUF_FUNC()
126 ASSERT(MZE_PHYS(zap, &mze)->mze_name[0] != 0); in ZFS_BTREE_FIND_IN_BUF_FUNC()
127 zfs_btree_add(&zap->zap_m.zap_tree, &mze); in ZFS_BTREE_FIND_IN_BUF_FUNC()
158 mze_find_unused_cd(zap_t *zap, uint64_t hash) in mze_find_unused_cd() argument
162 zfs_btree_t *tree = &zap->zap_m.zap_tree; in mze_find_unused_cd()
[all …]
H A Dzap_impl.c36 #include <sys/zap.h>
44 /* Setup/teardown caches. Part of the public interface in zap.h. */
75 zap_normalize(zap_t *zap, const char *name, char *namenorm, int normflags, in zap_normalize() argument
78 ASSERT(!(zap_getflags(zap) & ZAP_FLAG_UINT64_KEY)); in zap_normalize()
91 zap_name_alloc(zap_t *zap, boolean_t longname) in zap_name_alloc() argument
96 zn->zn_zap = zap; in zap_name_alloc()
102 zap_name_alloc_str(zap_t *zap, const char *key, matchtype_t mt) in zap_name_alloc_str() argument
105 zap_name_t *zn = zap_name_alloc(zap, (key_len > ZAP_MAXNAMELEN)); in zap_name_alloc_str()
114 zap_name_alloc_uint64(zap_t *zap, const uint64_t *key, int numints) in zap_name_alloc_uint64() argument
118 ASSERT0(zap->zap_normflags); in zap_name_alloc_uint64()
[all …]
H A Dzap.c36 #include <sys/zap.h>
229 zap_t *zap; in zap_lookup_norm_by_dnode() local
232 zap_lock_by_dnode(dn, NULL, RW_READER, TRUE, FALSE, FTAG, &zap); in zap_lookup_norm_by_dnode()
236 zap_name_t *zn = zap_name_alloc_str(zap, name, mt); in zap_lookup_norm_by_dnode()
238 zap_unlock(zap, FTAG); in zap_lookup_norm_by_dnode()
242 if (!zap->zap_ismicro) { in zap_lookup_norm_by_dnode()
257 MZE_PHYS(zap, mze)->mze_value; in zap_lookup_norm_by_dnode()
260 MZE_PHYS(zap, mze)->mze_name, in zap_lookup_norm_by_dnode()
263 *ncp = mzap_normalization_conflict(zap, in zap_lookup_norm_by_dnode()
270 zap_unlock(zap, FTAG); in zap_lookup_norm_by_dnode()
[all …]
H A Dddt_zap.c34 #include <sys/zap.h>
201 * We don't want to prefetch the entire ZAP object, because in ddt_zap_walk()
204 * scrub I/Os for each ZAP block that we read in, so in ddt_zap_walk()
205 * reading the ZAP is unlikely to be the bottleneck. in ddt_zap_walk()
245 "zap",
259 "DDT ZAP leaf blockshift");
261 "DDT ZAP indirect blockshift");
/freebsd/usr.sbin/makefs/zfs/
H A Dzap.c64 unsigned long chunks; /* count of chunks needed for fat ZAP */
65 bool micro; /* can this be a micro ZAP? */
117 zfs_zap_t *zap; in zap_alloc() local
119 zap = ecalloc(1, sizeof(*zap)); in zap_alloc()
120 STAILQ_INIT(&zap->kvps); in zap_alloc()
121 zap->hashsalt = ((uint64_t)random() << 32) | random(); in zap_alloc()
122 zap->micro = true; in zap_alloc()
123 zap->kvpcnt = 0; in zap_alloc()
124 zap->chunks = 0; in zap_alloc()
125 zap->dnode = dnode; in zap_alloc()
[all …]
/freebsd/sys/contrib/openzfs/include/sys/
H A Dzap_impl.h35 #include <sys/zap.h>
46 #define FZAP_BLOCK_SHIFT(zap) ((zap)->zap_f.zap_block_shift) argument
76 #define MZE_PHYS(zap, mze) \ argument
77 (&zap_m_phys(zap)->mz_chunk[(mze)->mze_chunkid])
80 * The (fat) zap is stored in one object. It is an array of
103 #define ZAP_EMBEDDED_PTRTBL_SHIFT(zap) (FZAP_BLOCK_SHIFT(zap) - 3 - 1) argument
108 * word number (1<<ZAP_EMBEDDED_PTRTBL_SHIFT(zap)).
110 #define ZAP_EMBEDDED_PTRTBL_ENT(zap, idx) \ argument
111 ((uint64_t *)zap_f_phys(zap)) \
112 [(idx) + (1<<ZAP_EMBEDDED_PTRTBL_SHIFT(zap))]
[all …]
H A Dzap.h34 * ZAP - ZFS Attribute Processor
36 * The ZAP is a module which sits on top of the DMU (Data Management
40 * A "zapobj" is a DMU object which the ZAP uses to stores attributes.
41 * Users should use only zap routines to access a zapobj - they should
54 * The ZAP routines are thread-safe. However, you must observe the
64 * The ZAP is intended to operate most efficiently on attributes with
66 * the microzap will be used. The ZAP should be efficient enough so
69 * The ZAP's locking scheme makes its routines thread-safe. Operations
74 * the ZAP uses per-block locking - more than 128 * (number of cpus)
93 * Specifies matching criteria for ZAP lookups.
[all …]
H A Dzap_leaf.h30 #include <sys/zap.h>
36 struct zap;
113 /* Public to ZAP */
130 * ZAP_LEAF_HASH_NUMENTRIES(zap) entries. The hash table is
131 * followed by an array of ZAP_LEAF_NUMCHUNKS(zap)
178 /* Set by zap_leaf and public to ZAP */
213 extern int zap_entry_read_name(struct zap *zap, const zap_entry_handle_t *zeh,
240 struct zap_name *zn, const char *name, struct zap *zap);
249 extern void zap_leaf_stats(struct zap *zap, zap_leaf_t *l,
H A Ddmu.h176 DMU_OT_OBJECT_DIRECTORY, /* ZAP */
192 DMU_OT_DSL_DIR_CHILD_MAP, /* ZAP */
193 DMU_OT_DSL_DS_SNAP_MAP, /* ZAP */
194 DMU_OT_DSL_PROPS, /* ZAP */
200 DMU_OT_DIRECTORY_CONTENTS, /* ZAP */
201 DMU_OT_MASTER_NODE, /* ZAP */
202 DMU_OT_UNLINKED_SET, /* ZAP */
205 DMU_OT_ZVOL_PROP, /* ZAP */
209 DMU_OT_ZAP_OTHER, /* ZAP */
211 DMU_OT_ERROR_LOG, /* ZAP */
[all …]
/freebsd/sys/contrib/openzfs/tests/zfs-tests/tests/functional/vdev_zaps/
H A Dvdev_zaps_004_pos.ksh24 # 1. Create a pool with one disk. Verify that it has a top and leaf ZAP.
27 # 4. Verify that the newly-attached disk has a leaf ZAP.
58 # Ensure top-level ZAP was transferred successfully.
61 log_fail "Top-level ZAP wasn't transferred successfully on attach."
64 # Ensure leaf ZAP of original disk was transferred successfully.
67 log_fail "$DISK used to have leaf-level ZAP $orig_leaf, now has "\
70 # Ensure original disk no longer has top-level ZAP.
72 [[ -n "$dsk1_top" ]] && log_fail "$DISK has top-level ZAP, but is only leaf."
74 # Ensure attached disk got a leaf-level ZAP but not a top-level ZAP.
77 [[ -n "$dsk2_top" ]] && log_fail "Attached disk $disk2 has top ZAP."
[all …]
H A Dvdev_zaps_003_pos.ksh25 # 2. Verify that mirror has top ZAP but no leaf ZAP.
26 # 3. Verify that each disk has a leaf ZAP but no top ZAP.
46 [[ -n "$top_zap" ]] && log_fail "Leaf vdev $DISK has top-level ZAP."
H A Dvdev_zaps_005_pos.ksh60 [[ "$new_top" -ne "$orig_top" ]] && log_fail "Top ZAP ($new_top) after "\
61 "import does not match top ZAP before export ($orig_top)"
62 [[ "$new_leaf" -ne "$orig_leaf" ]] && log_fail "Leaf ZAP ($new_leaf) after "\
63 "import does not match leaf ZAP before export ($orig_leaf)"
/freebsd/sys/contrib/openzfs/tests/unit/
H A DREADME.md23 zap.mock_microzap_sanity [ OK ] [ 0.00001088 / 0.00000939 CPU ]
24 zap.mock_fatzap_sanity [ OK ] [ 0.00004281 / 0.00004257 CPU ]
25 zap.zap_basic
34 $ make unit T=zap
78 $ make unit-coverage T=zap
81 zap.mock_microzap_sanity [ OK ] [ 0.00000941 / 0.00000834 CPU ]
82 zap.mock_fatzap_sanity [ OK ] [ 0.00005782 / 0.00005766 CPU ]
84 zap.cursor_release_one
91 module/zfs/zap.c | 33.9% 610 207 | 31.1% 238 74 | 23.0% 74 17
103 $ make unit-coverage-html T=zap
[all …]
/freebsd/sys/contrib/openzfs/tests/zfs-tests/tests/functional/dedup/
H A Ddedup_legacy_fdt_upgrade.ksh73 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
75 # should be just one DDT ZAP in the MOS
76 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 1
92 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-duplicate:.*entries=4'"
96 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 2
109 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 0
119 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
125 # with one ZAP inside
126 log_must test $(zdb -dddd $TESTPOOL $obj | grep DDT-sha256-zap- | wc -l) -eq 1
H A Ddedup_legacy_fdt_mixed.ksh73 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-skein-zap-unique:.*entries=4'"
75 # should be just one DDT ZAP in the MOS
76 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-.*-zap- | wc -l) -eq 1
92 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-blake3-zap-unique:.*entries=4'"
94 # two entries in the MOS: the legacy skein DDT ZAP, and the containing dir for
96 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-.*-zap- | wc -l) -eq 1
99 # containing object has one ZAP inside
101 log_must test $(zdb -dddd $TESTPOOL $obj | grep DDT-.*-zap- | wc -l) -eq 1
H A Ddedup_legacy_import.ksh65 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
67 # should be just one DDT ZAP in the MOS
68 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 1
88 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 0
98 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
100 # should be just one DDT ZAP in the MOS
101 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 1
H A Ddedup_zap_shrink.ksh33 # check that the DDT zap was shrunk. Use zdb to check that the zap object
40 "Ensure DDT ZAP object shrank after removing entries."
44 # entries appear in the DDT ZAP
68 zap_obj=$(zdb -DDD $TESTPOOL | grep "DDT-sha256-zap-unique" | sed -n 's/.*object=//p')
88 log_pass "ZAP object shrank after removing entries."
H A Ddedup_legacy_create.ksh65 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
67 # should be just one DDT ZAP in the MOS
68 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 1
75 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-duplicate:.*entries=4'"
79 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 2
92 log_must test $(zdb -dddd $TESTPOOL 1 | grep DDT-sha256-zap- | wc -l) -eq 0
H A Ddedup_fdt_import.ksh72 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
78 # with only one ZAP inside
79 log_must test $(zdb -dddd $TESTPOOL $obj | grep DDT-sha256-zap- | wc -l) -eq 1
109 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
115 # with only one ZAP inside
116 log_must test $(zdb -dddd $TESTPOOL $obj | grep DDT-sha256-zap- | wc -l) -eq 1
H A Ddedup_bclone.ksh49 # Flush DDT log every TXG so entries appear in the ZAP immediately.
79 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
87 "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-duplicate:.*entries=4'"
95 "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-duplicate:.*entries=4'"
103 "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-duplicate:.*entries=4'"
110 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
H A Ddedup_fdt_create.ksh72 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-unique:.*entries=4'"
78 # with only one ZAP inside
79 log_must test $(zdb -dddd $TESTPOOL $obj | grep DDT-sha256-zap- | wc -l) -eq 1
86 log_must eval "zdb -D $TESTPOOL | grep -q 'DDT-sha256-zap-duplicate:.*entries=4'"
90 log_must test $(zdb -dddd $TESTPOOL $obj | grep DDT-sha256-zap- | wc -l) -eq 2
/freebsd/stand/libsa/zfs/
H A Dzfsimpl.c2562 * Compare a name with a zap leaf entry. Return non-zero if the name
2594 * Extract a uint64_t value from a zap leaf entry.
2632 * Extract a array from a zap leaf entry.
2700 zap_get_leaf_byblk(fat_zap_t *zap, uint64_t blk, zap_leaf_t **lp) in zap_get_leaf_byblk() argument
2702 int bs = FZAP_BLOCK_SHIFT(zap); in zap_get_leaf_byblk()
2716 err = dnode_read(zap->zap_spa, zap->zap_dnode, blk << bs, (*lp)->l_phys, in zap_get_leaf_byblk()
2725 zap_table_load(fat_zap_t *zap, zap_table_phys_t *tbl, uint64_t idx, in zap_table_load() argument
2728 int bs = FZAP_BLOCK_SHIFT(zap); in zap_table_load()
2734 buf = malloc(1 << zap->zap_block_shift); in zap_table_load()
2737 rc = dnode_read(zap->zap_spa, zap->zap_dnode, (tbl->zt_blk + blk) << bs, in zap_table_load()
[all …]
/freebsd/usr.sbin/makefs/
H A Dzfs.c486 zfs_zap_t *zap; in pool_init_objdir() local
491 zap = zap_alloc(zfs->mos, objdir); in pool_init_objdir()
492 pool_init_objdir_config(zfs, zap); in pool_init_objdir()
493 pool_init_objdir_bplists(zfs, zap); in pool_init_objdir()
494 pool_init_objdir_feature_maps(zfs, zap); in pool_init_objdir()
495 pool_init_objdir_dsl(zfs, zap); in pool_init_objdir()
496 pool_init_objdir_poolprops(zfs, zap); in pool_init_objdir()
497 zap_write(zfs, zap); in pool_init_objdir()
507 * object directory (ZAP)
516 * |-> DSL child directory (ZAP)
[all …]
/freebsd/sys/contrib/device-tree/src/arm64/qcom/
H A Dsc7180-el2.dtso10 /* We can't and don't need to use zap shader in EL2 as linux can zap the gpu on it's own. */
12 zap-shader {

12345678910>>...16