From bd193d351ecf7980869aa5d00d131b8b5d0ba625 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Mon, 16 Mar 2026 15:10:34 -0700 Subject: [PATCH] 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 --- kmod/src/srch.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kmod/src/srch.c b/kmod/src/srch.c index 942bd969..3acbcb75 100644 --- a/kmod/src/srch.c +++ b/kmod/src/srch.c @@ -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; }