Zach BrownandZach Brown 345721c933 scoutfs: preserve sticky deletion items
We limit the number of lower segments that a compaction will read.  A
sticky compaction happens when the upper segment overlaps more lower
segments.  The remaining items in the upper segment are written back to
the upper level -- they're stuck.  A future compaction will attempt to
compact the remaining items with the next set of overlapping lower
segments.

Deletion items are rightly discarded as they're compacted to the lowest
level -- at that point they have no more matching items in lower
segments to destroy and are done.

Deletion items were being dropped instead of being written back into the
upper level of a sticky compaction.  The test for discarding the
deletion items only considered the lowest level of the compaction, not
the level that the items were being written to.  We need to be careful
to preserve the deletion items in the case of compaction to the lowest
level writing sticky items back to the upper segment.

Signed-off-by: Zach Brown <zab@versity.com>
2018-06-29 14:42:06 -07:00
S
Description
No description provided
7 MiB
Languages
C 86.4%
Shell 9.9%
Roff 2.5%
TeX 0.8%
Makefile 0.4%