From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org
Cc: Chao Yu <chao@kernel.org>, Jaegeuk Kim <jaegeuk@kernel.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12.y 3/4] f2fs: dump more information for f2fs_{enable,disable}_checkpoint()
Date: Tue, 30 Dec 2025 11:22:53 -0500 [thread overview]
Message-ID: <20251230162254.2306864-3-sashal@kernel.org> (raw)
In-Reply-To: <20251230162254.2306864-1-sashal@kernel.org>
From: Chao Yu <chao@kernel.org>
[ Upstream commit 80b6d1d2535a343e43d658777a46f1ebce8f3413 ]
Changes as below:
- print more logs for f2fs_{enable,disable}_checkpoint()
- account and dump time stats for f2fs_enable_checkpoint()
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Stable-dep-of: be112e7449a6 ("f2fs: fix to propagate error from f2fs_enable_checkpoint()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/f2fs/super.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 3f2aa031ef3b..04957c14b97c 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -2276,15 +2276,24 @@ static int f2fs_disable_checkpoint(struct f2fs_sb_info *sbi)
restore_flag:
sbi->gc_mode = gc_mode;
sbi->sb->s_flags = s_flags; /* Restore SB_RDONLY status */
+ f2fs_info(sbi, "f2fs_disable_checkpoint() finish, err:%d", err);
return err;
}
static void f2fs_enable_checkpoint(struct f2fs_sb_info *sbi)
{
unsigned int nr_pages = get_pages(sbi, F2FS_DIRTY_DATA) / 16;
+ long long start, writeback, end;
+
+ f2fs_info(sbi, "f2fs_enable_checkpoint() starts, meta: %lld, node: %lld, data: %lld",
+ get_pages(sbi, F2FS_DIRTY_META),
+ get_pages(sbi, F2FS_DIRTY_NODES),
+ get_pages(sbi, F2FS_DIRTY_DATA));
f2fs_update_time(sbi, ENABLE_TIME);
+ start = ktime_get();
+
/* we should flush all the data to keep data consistency */
while (get_pages(sbi, F2FS_DIRTY_DATA)) {
writeback_inodes_sb_nr(sbi->sb, nr_pages, WB_REASON_SYNC);
@@ -2293,6 +2302,7 @@ static void f2fs_enable_checkpoint(struct f2fs_sb_info *sbi)
if (f2fs_time_over(sbi, ENABLE_TIME))
break;
}
+ writeback = ktime_get();
sync_inodes_sb(sbi->sb);
@@ -2311,6 +2321,12 @@ static void f2fs_enable_checkpoint(struct f2fs_sb_info *sbi)
/* Let's ensure there's no pending checkpoint anymore */
f2fs_flush_ckpt_thread(sbi);
+
+ end = ktime_get();
+
+ f2fs_info(sbi, "f2fs_enable_checkpoint() finishes, writeback:%llu, sync:%llu",
+ ktime_ms_delta(writeback, start),
+ ktime_ms_delta(end, writeback));
}
static int f2fs_remount(struct super_block *sb, int *flags, char *data)
--
2.51.0
next prev parent reply other threads:[~2025-12-30 16:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-29 13:59 FAILED: patch "[PATCH] f2fs: fix to propagate error from f2fs_enable_checkpoint()" failed to apply to 6.12-stable tree gregkh
2025-12-30 16:22 ` [PATCH 6.12.y 1/4] f2fs: clear SBI_POR_DOING before initing inmem curseg Sasha Levin
2025-12-30 16:22 ` [PATCH 6.12.y 2/4] f2fs: add timeout in f2fs_enable_checkpoint() Sasha Levin
2025-12-30 16:22 ` Sasha Levin [this message]
2025-12-30 16:22 ` [PATCH 6.12.y 4/4] f2fs: fix to propagate error from f2fs_enable_checkpoint() Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251230162254.2306864-3-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=chao@kernel.org \
--cc=jaegeuk@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox