MCPcopy Create free account
hub / github.com/F-Stack/f-stack / zap_create_impl

Function zap_create_impl

freebsd/contrib/openzfs/module/zfs/zap_micro.c:726–751  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

724}
725
726static uint64_t
727zap_create_impl(objset_t *os, int normflags, zap_flags_t flags,
728 dmu_object_type_t ot, int leaf_blockshift, int indirect_blockshift,
729 dmu_object_type_t bonustype, int bonuslen, int dnodesize,
730 dnode_t **allocated_dnode, void *tag, dmu_tx_t *tx)
731{
732 uint64_t obj;
733
734 ASSERT3U(DMU_OT_BYTESWAP(ot), ==, DMU_BSWAP_ZAP);
735
736 if (allocated_dnode == NULL) {
737 dnode_t *dn;
738 obj = dmu_object_alloc_hold(os, ot, 1ULL << leaf_blockshift,
739 indirect_blockshift, bonustype, bonuslen, dnodesize,
740 &dn, FTAG, tx);
741 mzap_create_impl(dn, normflags, flags, tx);
742 dnode_rele(dn, FTAG);
743 } else {
744 obj = dmu_object_alloc_hold(os, ot, 1ULL << leaf_blockshift,
745 indirect_blockshift, bonustype, bonuslen, dnodesize,
746 allocated_dnode, tag, tx);
747 mzap_create_impl(*allocated_dnode, normflags, flags, tx);
748 }
749
750 return (obj);
751}
752
753int
754zap_create_claim(objset_t *os, uint64_t obj, dmu_object_type_t ot,

Callers 3

zap_create_norm_dnsizeFunction · 0.85
zap_create_flags_dnsizeFunction · 0.85
zap_create_holdFunction · 0.85

Calls 3

dmu_object_alloc_holdFunction · 0.85
mzap_create_implFunction · 0.85
dnode_releFunction · 0.85

Tested by

no test coverage detected