mirror of
https://github.com/versity/scoutfs.git
synced 2026-04-20 05:20:30 +00:00
Don't swallow -EAGAIN in srch.c.
The earlier change advances the reader past the tournament winner before the entry is emitted. It's possible we get an -EAGAIN trying to allocate a block while in the out: path, and then it's silently dropped. If we return an error here, the whole compaction will be discarded and be redone later. Signed-off-by: Auke Kok <auke.kok@versity.com>
This commit is contained in:
@@ -1780,8 +1780,7 @@ out:
|
||||
ret = alloc_srch_block(sb, alloc, wri, sfl, &bl, blk);
|
||||
if (ret) {
|
||||
emit = false;
|
||||
if (ret == -EAGAIN)
|
||||
ret = 0;
|
||||
/* don't swallow -EAGAIN: tmp_entry would be lost */
|
||||
} else {
|
||||
srb = bl->data;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user