| 1128 | } |
| 1129 | |
| 1130 | static void |
| 1131 | dnode_reclaim_slots(dnode_children_t *children, int idx, int slots) |
| 1132 | { |
| 1133 | ASSERT3S(idx + slots, <=, DNODES_PER_BLOCK); |
| 1134 | |
| 1135 | for (int i = idx; i < idx + slots; i++) { |
| 1136 | dnode_handle_t *dnh = &children->dnc_children[i]; |
| 1137 | |
| 1138 | ASSERT(zrl_is_locked(&dnh->dnh_zrlock)); |
| 1139 | |
| 1140 | if (DN_SLOT_IS_PTR(dnh->dnh_dnode)) { |
| 1141 | ASSERT3S(dnh->dnh_dnode->dn_type, ==, DMU_OT_NONE); |
| 1142 | dnode_destroy(dnh->dnh_dnode); |
| 1143 | dnh->dnh_dnode = DN_SLOT_FREE; |
| 1144 | } |
| 1145 | } |
| 1146 | } |
| 1147 | |
| 1148 | void |
| 1149 | dnode_free_interior_slots(dnode_t *dn) |
no test coverage detected