Forwarded: [PATCH] nilfs2: add debug instrumentation to nilfs_clean_segments
From: syzbot
Date: Thu Jun 18 2026 - 21:24:53 EST
For archival purposes, forwarding an incoming command email to
linux-kernel@xxxxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx.
***
Subject: [PATCH] nilfs2: add debug instrumentation to nilfs_clean_segments
Author: kartikey406@xxxxxxxxx
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
Add temporary pr_err() calls to log ns_nsegments, nfreesegs, and
the first segment number on entry to nilfs_clean_segments(), and
to log the error code on each retry, to diagnose the hung task
reported by syzbot.
Link: https://syzkaller.appspot.com/bug?extid=155b515977fecb686986
Signed-off-by: Deepanshu Kartikey <kartikey406@xxxxxxxxx>
---
fs/nilfs2/segment.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
index 9332f5ac6083..219ae4ae0c03 100644
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -2519,7 +2519,10 @@ int nilfs_clean_segments(struct super_block *sb, struct nilfs_argv *argv,
return -EROFS;
nilfs_transaction_lock(sb, &ti, 1);
-
+ pr_err("nilfs2: clean_segments: ns_nsegments=%lu nfreesegs=%zu segnums[0]=0x%llx\n",
+ nilfs->ns_nsegments,
+ nfreesegs,
+ nfreesegs > 0 ? segnumv[0] : 0ULL);
/*
* Validate segment numbers under ns_segctor_sem (held for write
* by nilfs_transaction_lock above) so the check is serialized
@@ -2559,7 +2562,7 @@ int nilfs_clean_segments(struct super_block *sb, struct nilfs_argv *argv,
if (likely(!err))
break;
-
+ pr_err("nilfs2: clean_segments retry: err=%d\n", err);
nilfs_warn(sb, "error %d cleaning segments", err);
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(sci->sc_interval);
--
2.43.0