mirror of
https://github.com/versity/scoutfs.git
synced 2026-09-08 09:07:30 +00:00
scoutfs: fix level 0 key iteration increment
Compaction has to find the oldest level 0 segment for compaction. It iterates over the level 0 segments by their manifest entry's btree key. It was incorrectly incrementing the btree search key. It was incrementing the first key stored in the entry, but that's not the least significant field. The seq is the least significant field so this iteration could skip over segments written at different times with the same first key. The fix to have it visit all the entries is to increment the lowest precision seq field. Right now we have a single level 0 segment so this code never actually matters. Signed-off-by: Zach Brown <zab@versity.com>
This commit is contained in:
+1
-2
@@ -971,8 +971,7 @@ int scoutfs_manifest_next_compact(struct super_block *sb, void *data)
|
||||
if (next.seq < ment.seq)
|
||||
ment = next;
|
||||
|
||||
scoutfs_key_inc(&next.first);
|
||||
init_btree_key(&mkey, next.level, next.seq,
|
||||
init_btree_key(&mkey, next.level, next.seq + 1,
|
||||
&next.first);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user