[PATCH v3 0/2] f2fs: fix online resize state
From: Wenjie Qi
Date: Thu Oct 15 2026 - 04:39:27 EST
Online shrink changes both persistent SIT state and the geometry used
by pinned allocation. This series prevents old state from surviving
those changes.
Patch 1 drains the SIT journal during resize even when there are no
new dirty sentries. Its code is unchanged, with Daeho's Reviewed-by
added.
Patch 2 now consumes the reserved tail as sections are removed. This
keeps the pinned boundary fixed while shrinking within the reservation
and limits it to the new main area when the reservation is exhausted.
It restores the old tail and boundary on final checkpoint rollback.
Changes since v2:
- Rebase onto current f2fs/dev.
- Reduce resizable_tail_secno by the removed sections, down to zero.
- Save the current tail after freeze and restore it on rollback.
- Document that online shrink consumes the reservation.
- Retain Daeho's review for patch 1; request a new review for patch 2.
Wenjie Qi (2):
f2fs: flush SIT journal during filesystem resize
f2fs: refresh pinned allocation boundary after resize
Documentation/filesystems/f2fs.rst | 3 ++-
fs/f2fs/gc.c | 6 +++++-
fs/f2fs/segment.c | 2 +-
fs/f2fs/segment.h | 11 +++++++++++
fs/f2fs/super.c | 15 ++-------------
5 files changed, 21 insertions(+), 16 deletions(-)
base-commit: e455328a66a5f4827d4ba96acfe50dbbb0e13b8d
--
2.43.0