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

Function ddt_object_destroy

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

Source from the content-addressed store, hash-verified

82}
83
84static void
85ddt_object_destroy(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
86 dmu_tx_t *tx)
87{
88 spa_t *spa = ddt->ddt_spa;
89 objset_t *os = ddt->ddt_os;
90 uint64_t *objectp = &ddt->ddt_object[type][class];
91 uint64_t count;
92 char name[DDT_NAMELEN];
93
94 ddt_object_name(ddt, type, class, name);
95
96 ASSERT(*objectp != 0);
97 ASSERT(ddt_histogram_empty(&ddt->ddt_histogram[type][class]));
98 VERIFY(ddt_object_count(ddt, type, class, &count) == 0 && count == 0);
99 VERIFY(zap_remove(os, DMU_POOL_DIRECTORY_OBJECT, name, tx) == 0);
100 VERIFY(zap_remove(os, spa->spa_ddt_stat_object, name, tx) == 0);
101 VERIFY(ddt_ops[type]->ddt_op_destroy(os, *objectp, tx) == 0);
102 bzero(&ddt->ddt_object_stats[type][class], sizeof (ddt_object_t));
103
104 *objectp = 0;
105}
106
107static int
108ddt_object_load(ddt_t *ddt, enum ddt_type type, enum ddt_class class)

Callers 1

ddt_sync_tableFunction · 0.85

Calls 5

ddt_object_nameFunction · 0.85
ddt_histogram_emptyFunction · 0.85
ddt_object_countFunction · 0.85
zap_removeFunction · 0.85
bzeroFunction · 0.85

Tested by

no test coverage detected