info->new = true;
info->end = part->size - 1;
info->max = part->pivots[info->end];
+ info->min = min;
info->pivots = part->pivots;
info->slots = part->slots;
+#if 0
if (is_alloc && ma_is_leaf(info->type)) {
for(int i = 0; i < part->size; i++) {
if (!part->slots[i])
min = part->pivots[i];
}
}
+#endif
info->gaps = part->gaps;
}
void **slots;
if (!sd->is_alloc)
- goto finalise_leaf;
+ goto set_metadata;
i = 0;
offset = p->offset - 2;
/*
i = 1;
}
-
for (; i <= offset; i++) {
/* data == no gap. */
if (slots[i])
pstart = pivs[i - 1];
gap = pivs[i] - pstart;
+ printk("gap of %u is %lu ", i, gap);
if (gap > max_gap)
max_gap = gap;
+ printk("max gap is %lu\n", max_gap);
+
/* There cannot be two gaps in a row. */
i++;
}
finalise_leaf:
p->max_gap = max_gap;
+ printk("max_gap for %p is %lu\n", p->node, p->max_gap);
+set_metadata:
if (p->offset <= mt_pivots[p->type]) {
ma_set_meta(p->node, p->type, 0, p->offset - 1);
}