From nobody Tue Apr 7 02:34:20 2026 Received: from mail-dl1-f48.google.com (mail-dl1-f48.google.com [74.125.82.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FAE53254A9 for ; Mon, 16 Mar 2026 18:59:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773687574; cv=none; b=lPGDIG3c6Oly93h02sqoch0pxintZ+Nj6isatZ7KebhtTHFQKIP5cY/inSJLCT4M92VAu2ET+QExQCmZnTdkg4zJjMZ0RlE1nn00RtpDmCQtvSRxHazkNpoSgCAJeI2NB1LLoEcVnTkGS8mgD4Es9BmLuUfRwzdvRufHsb8pS60= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773687574; c=relaxed/simple; bh=NLVo1AGbpkNa8V1UkaN9rpZ8muo735VDvEdoQ7hAmi8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SyGCuki4VxQ3AwCloJLHRH3YxfX4m05dvyqzkM4C1BlPF5B1NXziOMXz+BK/vdvrjcMHO2HZ2t2jufD0L1yHrmf/498zYvcl3mNKjl6HY5lJNzLougiZKTrykJm6vWjC1X4F3zVsUfEmlOqzeGDwRqjX2Bv01g0Z5a7q1WemR38= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=G+BH5diS; arc=none smtp.client-ip=74.125.82.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="G+BH5diS" Received: by mail-dl1-f48.google.com with SMTP id a92af1059eb24-1279eced0b9so6591704c88.0 for ; Mon, 16 Mar 2026 11:59:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773687572; x=1774292372; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=2ZwAP11ug2Xx4XJCJXQvNUR+uQma1SjuWI/1y2Kw2a8=; b=G+BH5diSOTNWHZ2GlIQYX47001qsi82jvrVNJGbS66r1y1ILAzS3U9QhDf9xqqd/c3 TlRvc53RLJGGghGfVKRjZ0sNaQA+AuMos6XMY3DkBClUAOfsdzqETbBtXgz+JYoV4ATl NNxkiwLmHBn3eysAw0YczhLcxEbNjqwLLSmpfLCOInq2Dfw6IyR4QXMfRjKK8FodWX36 OjN3PtuSBdhORu5ag8pmhKzk+6cK5ZEZo0JcXfOG1Ub6kh6ZOYla1oVMVDKaDES2bNgx aRVXKCj5LSydVqYggmFfdca/qeK2fAGbvh+nHU5jLq6byK9jedPkUtQEmbQeHqU+CChe 0xTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773687572; x=1774292372; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=2ZwAP11ug2Xx4XJCJXQvNUR+uQma1SjuWI/1y2Kw2a8=; b=G4PUyxa6YbE/k+2t8KciwND7VH4M3t+qEchvX1OI9o8tJiXq4TM1DON7a40bl8FZQr WrP6wmnPXzCU1KXrjusMJQ1a9/EP9ikOXa4NGEVXNeRvsuAK1fYXwWwWn+sGkEM6J1fk 0GLBi1qRx0KqNJRaFcNlVL0bhhHx4lDySWIJOARiAHGo3kxEVGoo0Ho6vFw+mzOmrgXR bfCv2zGaBtAuWTgXOmtdFqMBvrVV9fz21FxlNHLJTNo/WhzbGU9FOCsEj1Wo00yZok0p I2cQML1OoKxNDG/KoQ0vjljn9rkw6NOjW0d+FPSYvjtjvF26qBbXCcdRnrAWTmIpOkYV GN0A== X-Gm-Message-State: AOJu0Yztn1uBgtGF0bsg002ZPbl6khDgg7/qiI9X1ELO8/B1yRafuUck KaIlZKy8HfVonTgsQyoagEUlv+VEaPYpZD52PoMfVbGZGAW+awmo6AuilsAUXg== X-Gm-Gg: ATEYQzzNkUaVWAisFKgPJ2UQ8oDMloHxlx0cT5f0QQlBzNs9yatGp2tQ/gdN9uxab/K 9Q5DgCyZtUPCKBdWr0Z1jI6Rfl16DYkmuBshjoZXEPJsHFyodPsc6lunwi/ikPIGcX6ce7hIs93 V0F/TFi1zFwvWfX3vypyZV5ngS/QyKZaENb5t4fx4wVa1oNQlQcJWdsh11kn+emJSA6qJQEWxeS nw2v4YJD57GWW6UwQMEI+zzP5akhveeuvy7b/OuLtP6DINCLs4N889KjxId4Rh33SIkXxcCqU5i 2Tc0ZNa1IFMiSaniyQ88c4oK300LlmJEWQU4QkXVAo2xm3u8ExA8XR9hpkxCCMslqzbKB3yR8p4 nPo3zMf97cW2JLkYgCN845ZrCh7LJNkOcDvhDZO7fvXOWo2KB/0igmhQqOk7fvHCWuTWej9eZRx mKR7ajC9jQ6s7TPsyGQ7EMzXLiLlUU/alDjwjrK6qa/sAmkobRqLzZsckOVWSVP2vIvYdgqeVL1 V7r/Lv9HvqWh9kwoI0IqVbdFRBT+YOEY7OJjAZDRm7mzECp9aA= X-Received: by 2002:a05:7022:23a9:b0:11a:fb3c:568b with SMTP id a92af1059eb24-128f3dbf12emr6161834c88.17.1773687571862; Mon, 16 Mar 2026 11:59:31 -0700 (PDT) Received: from daehojeong-desktop.mtv.corp.google.com ([2a00:79e0:2e7c:8:de83:bdfe:287b:a163]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-128f639d1e4sm12718714c88.13.2026.03.16.11.59.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Mar 2026 11:59:31 -0700 (PDT) From: Daeho Jeong To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, kernel-team@android.com Cc: Daeho Jeong Subject: [PATCH v2] f2fs: fix to skip empty sections in f2fs_get_victim Date: Mon, 16 Mar 2026 11:59:21 -0700 Message-ID: <20260316185922.2184759-1-daeho43@gmail.com> X-Mailer: git-send-email 2.53.0.851.ga537e3e6e9-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daeho Jeong In age-based victim selection (ATGC, AT_SSR, or GC_CB), f2fs_get_victim can encounter sections with zero valid blocks. This situation often arises when checkpoint is disabled or due to race conditions between SIT updates and dirty list management. In such cases, f2fs_get_section_mtime() returns INVALID_MTIME, which subsequently triggers a fatal f2fs_bug_on(sbi, mtime =3D=3D INVALID_MTIME) in add_victim_entry() or get_cb_cost(). This patch adds a check in f2fs_get_victim's selection loop to skip sections with no valid blocks. This prevents unnecessary age calculations for empty sections and avoids the associated kernel panic. This change also allows removing redundant checks in add_victim_entry(). Signed-off-by: Daeho Jeong Reviewed-by: Chao Yu --- v2: changed the check position. --- fs/f2fs/gc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 2e0f67946914..246496fbe5e5 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -907,6 +907,9 @@ int f2fs_get_victim(struct f2fs_sb_info *sbi, unsigned = int *result, if (!f2fs_segment_has_free_slot(sbi, segno)) goto next; } + + if (!get_valid_blocks(sbi, segno, true)) + goto next; } =20 if (gc_type =3D=3D BG_GC && test_bit(secno, dirty_i->victim_secmap)) --=20 2.53.0.851.ga537e3e6e9-goog