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

Function ddt_table_alloc

freebsd/contrib/openzfs/module/zfs/ddt.c:783–801  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

781}
782
783static ddt_t *
784ddt_table_alloc(spa_t *spa, enum zio_checksum c)
785{
786 ddt_t *ddt;
787
788 ddt = kmem_cache_alloc(ddt_cache, KM_SLEEP);
789 bzero(ddt, sizeof (ddt_t));
790
791 mutex_init(&ddt->ddt_lock, NULL, MUTEX_DEFAULT, NULL);
792 avl_create(&ddt->ddt_tree, ddt_entry_compare,
793 sizeof (ddt_entry_t), offsetof(ddt_entry_t, dde_node));
794 avl_create(&ddt->ddt_repair_tree, ddt_entry_compare,
795 sizeof (ddt_entry_t), offsetof(ddt_entry_t, dde_node));
796 ddt->ddt_checksum = c;
797 ddt->ddt_spa = spa;
798 ddt->ddt_os = spa->spa_meta_objset;
799
800 return (ddt);
801}
802
803static void
804ddt_table_free(ddt_t *ddt)

Callers 1

ddt_createFunction · 0.85

Calls 4

kmem_cache_allocFunction · 0.85
bzeroFunction · 0.85
avl_createFunction · 0.85
mutex_initFunction · 0.50

Tested by

no test coverage detected