Zach Brown d374a7c06f scoutfs: fix up radix block _first tracking
Updating the _first tracking in leaf bits was pretty confusing because
we tried to mashing all the tracking updates from all leaf modifications
into one shared code path.

It had a bug where merging would advance _first tracking by the number
of bits merged in the leaf rather than the number of contiguous set bits
after the new first.  This lead to allocation failures eventually as
_first was after actual set bits in the leaf.

This fixes that by moving _first tracking updates into the leaf callers
that modify bits and to the parent ref updating code.

In the process we also fix little bugs in the support code that were
found by the radix block consistency checking.

Signed-off-by: Zach Brown <zab@versity.com>
2020-02-28 11:34:02 -08:00
Description
No description provided
9.1 MiB
Languages
C 86.2%
Shell 10.2%
Roff 2.5%
TeX 0.8%
Makefile 0.3%