Lines Matching refs:type

56 ddt_object_create(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
61 uint64_t *objectp = &ddt->ddt_object[type][class];
66 ddt_object_name(ddt, type, class, name);
69 VERIFY(ddt_ops[type]->ddt_op_create(os, objectp, tx, prehash) == 0);
77 &ddt->ddt_histogram[type][class], tx) == 0);
81 ddt_object_destroy(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
86 uint64_t *objectp = &ddt->ddt_object[type][class];
89 ddt_object_name(ddt, type, class, name);
92 ASSERT(ddt_object_count(ddt, type, class) == 0);
93 ASSERT(ddt_histogram_empty(&ddt->ddt_histogram[type][class]));
96 VERIFY(ddt_ops[type]->ddt_op_destroy(os, *objectp, tx) == 0);
97 bzero(&ddt->ddt_object_stats[type][class], sizeof (ddt_object_t));
103 ddt_object_load(ddt_t *ddt, enum ddt_type type, enum ddt_class class)
105 ddt_object_t *ddo = &ddt->ddt_object_stats[type][class];
110 ddt_object_name(ddt, type, class, name);
113 sizeof (uint64_t), 1, &ddt->ddt_object[type][class]);
120 &ddt->ddt_histogram[type][class]));
125 VERIFY(ddt_object_info(ddt, type, class, &doi) == 0);
127 ddo->ddo_count = ddt_object_count(ddt, type, class);
135 ddt_object_sync(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
138 ddt_object_t *ddo = &ddt->ddt_object_stats[type][class];
142 ddt_object_name(ddt, type, class, name);
146 &ddt->ddt_histogram[type][class], tx) == 0);
151 VERIFY(ddt_object_info(ddt, type, class, &doi) == 0);
153 ddo->ddo_count = ddt_object_count(ddt, type, class);
159 ddt_object_lookup(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
162 if (!ddt_object_exists(ddt, type, class))
165 return (ddt_ops[type]->ddt_op_lookup(ddt->ddt_os,
166 ddt->ddt_object[type][class], dde));
170 ddt_object_prefetch(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
173 if (!ddt_object_exists(ddt, type, class))
176 ddt_ops[type]->ddt_op_prefetch(ddt->ddt_os,
177 ddt->ddt_object[type][class], dde);
181 ddt_object_update(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
184 ASSERT(ddt_object_exists(ddt, type, class));
186 return (ddt_ops[type]->ddt_op_update(ddt->ddt_os,
187 ddt->ddt_object[type][class], dde, tx));
191 ddt_object_remove(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
194 ASSERT(ddt_object_exists(ddt, type, class));
196 return (ddt_ops[type]->ddt_op_remove(ddt->ddt_os,
197 ddt->ddt_object[type][class], dde, tx));
201 ddt_object_walk(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
204 ASSERT(ddt_object_exists(ddt, type, class));
206 return (ddt_ops[type]->ddt_op_walk(ddt->ddt_os,
207 ddt->ddt_object[type][class], dde, walk));
211 ddt_object_count(ddt_t *ddt, enum ddt_type type, enum ddt_class class)
213 ASSERT(ddt_object_exists(ddt, type, class));
215 return (ddt_ops[type]->ddt_op_count(ddt->ddt_os,
216 ddt->ddt_object[type][class]));
220 ddt_object_info(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
223 if (!ddt_object_exists(ddt, type, class))
226 return (dmu_object_info(ddt->ddt_os, ddt->ddt_object[type][class],
231 ddt_object_exists(ddt_t *ddt, enum ddt_type type, enum ddt_class class)
233 return (!!ddt->ddt_object[type][class]);
237 ddt_object_name(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
242 ddt_ops[type]->ddt_op_name, ddt_class_name[class]);
449 for (enum ddt_type type = 0; type < DDT_TYPES; type++) {
453 &ddt->ddt_object_stats[type][class];
473 for (enum ddt_type type = 0; type < DDT_TYPES; type++) {
477 &ddt->ddt_histogram_cache[type][class]);
675 enum ddt_type type;
704 for (type = 0; type < DDT_TYPES; type++) {
706 error = ddt_object_lookup(ddt, type, class, dde);
721 dde->dde_type = type; /* will be DDT_TYPES if no entry found */
751 for (enum ddt_type type = 0; type < DDT_TYPES; type++) {
753 ddt_object_prefetch(ddt, type, class, &dde);
831 for (enum ddt_type type = 0; type < DDT_TYPES; type++) {
834 error = ddt_object_load(ddt, type, class);
877 for (enum ddt_type type = 0; type < DDT_TYPES; type++)
879 if (ddt_object_lookup(ddt, type, class, &dde) == 0)
895 for (enum ddt_type type = 0; type < DDT_TYPES; type++) {
903 ddt_object_lookup(ddt, type, class, dde) == 0)
1079 for (enum ddt_type type = 0; type < DDT_TYPES; type++) {
1082 if (ddt_object_exists(ddt, type, class)) {
1083 ddt_object_sync(ddt, type, class, tx);
1084 count += ddt_object_count(ddt, type, class);
1088 if (count == 0 && ddt_object_exists(ddt, type, class))
1089 ddt_object_destroy(ddt, type, class, tx);