From: Greg Kroah-Hartman Date: Thu, 19 Feb 2026 10:02:42 +0000 (+0100) Subject: 6.19-stable patches X-Git-Tag: v5.10.251~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0091004770504466f2b00cbe99f50f9369aeeaa;p=thirdparty%2Fkernel%2Fstable-queue.git 6.19-stable patches added patches: f2fs-fix-incomplete-block-usage-in-compact-ssa-summaries.patch --- diff --git a/queue-6.19/f2fs-fix-incomplete-block-usage-in-compact-ssa-summaries.patch b/queue-6.19/f2fs-fix-incomplete-block-usage-in-compact-ssa-summaries.patch new file mode 100644 index 0000000000..10eaa3a1a4 --- /dev/null +++ b/queue-6.19/f2fs-fix-incomplete-block-usage-in-compact-ssa-summaries.patch @@ -0,0 +1,62 @@ +From 91b76f1059b60f453b51877f29f0e35693737383 Mon Sep 17 00:00:00 2001 +From: Daeho Jeong +Date: Mon, 26 Jan 2026 14:28:01 -0800 +Subject: f2fs: fix incomplete block usage in compact SSA summaries + +From: Daeho Jeong + +commit 91b76f1059b60f453b51877f29f0e35693737383 upstream. + +In a previous commit, a bug was introduced where compact SSA summaries +failed to utilize the entire block space in non-4KB block size +configurations, leading to inefficient space management. + +This patch fixes the calculation logic to ensure that compact SSA +summaries can fully occupy the block regardless of the block size. + +Reported-by: Chris Mason +Fixes: e48e16f3e37f ("f2fs: support non-4KB block size without packed_ssa feature") +Signed-off-by: Daeho Jeong +Reviewed-by: Chao Yu +Signed-off-by: Jaegeuk Kim +Cc: Jiri Slaby +Signed-off-by: Greg Kroah-Hartman +--- + fs/f2fs/segment.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/fs/f2fs/segment.c ++++ b/fs/f2fs/segment.c +@@ -2685,12 +2685,12 @@ int f2fs_npages_for_summary_flush(struct + valid_sum_count += f2fs_curseg_valid_blocks(sbi, i); + } + +- sum_in_page = (sbi->sum_blocksize - 2 * sbi->sum_journal_size - ++ sum_in_page = (sbi->blocksize - 2 * sbi->sum_journal_size - + SUM_FOOTER_SIZE) / SUMMARY_SIZE; + if (valid_sum_count <= sum_in_page) + return 1; + else if ((valid_sum_count - sum_in_page) <= +- (sbi->sum_blocksize - SUM_FOOTER_SIZE) / SUMMARY_SIZE) ++ (sbi->blocksize - SUM_FOOTER_SIZE) / SUMMARY_SIZE) + return 2; + return 3; + } +@@ -4333,7 +4333,7 @@ static int read_compacted_summaries(stru + s = (struct f2fs_summary *)(kaddr + offset); + sum_entries(seg_i->sum_blk)[j] = *s; + offset += SUMMARY_SIZE; +- if (offset + SUMMARY_SIZE <= sbi->sum_blocksize - ++ if (offset + SUMMARY_SIZE <= sbi->blocksize - + SUM_FOOTER_SIZE) + continue; + +@@ -4506,7 +4506,7 @@ static void write_compacted_summaries(st + *summary = sum_entries(seg_i->sum_blk)[j]; + written_size += SUMMARY_SIZE; + +- if (written_size + SUMMARY_SIZE <= PAGE_SIZE - ++ if (written_size + SUMMARY_SIZE <= sbi->blocksize - + SUM_FOOTER_SIZE) + continue; + diff --git a/queue-6.19/series b/queue-6.19/series index fc03b9879c..629b3a3b72 100644 --- a/queue-6.19/series +++ b/queue-6.19/series @@ -16,3 +16,4 @@ revert-f2fs-block-cache-dio-write-during-f2fs_enable_checkpoint.patch usb-serial-option-add-telit-fn920c04-rndis-compositions.patch f2fs-fix-to-do-sanity-check-on-node-footer-in-__write_node_folio.patch f2fs-fix-to-do-sanity-check-on-node-footer-in-read-write-_end_io.patch +f2fs-fix-incomplete-block-usage-in-compact-ssa-summaries.patch