summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/btree_journal_iter.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-03-26 11:44:30 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-03-26 16:26:35 -0400
commitd0fb2a266a3d051e0b9ba46ba0a133387c379783 (patch)
tree3a970677776931ae59100f3b4a8aa8bf47497fd1 /fs/bcachefs/btree_journal_iter.c
parentbcachefs: Fix 'hung task' messages in btree node scan (diff)
downloadlinux-d0fb2a266a3d051e0b9ba46ba0a133387c379783.tar.gz
linux-d0fb2a266a3d051e0b9ba46ba0a133387c379783.zip
bcachefs: cond_resched() in journal_key_sort_cmp()
Fixes "task out to lunch" warnings during recovery on large machines with lots of dirty data in the journal. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_journal_iter.c')
-rw-r--r--fs/bcachefs/btree_journal_iter.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_journal_iter.c b/fs/bcachefs/btree_journal_iter.c
index 6d25e3f85ce8..d1ad1a7613c9 100644
--- a/fs/bcachefs/btree_journal_iter.c
+++ b/fs/bcachefs/btree_journal_iter.c
@@ -644,6 +644,8 @@ void bch2_btree_and_journal_iter_init_node_iter(struct btree_trans *trans,
*/
static int journal_sort_key_cmp(const void *_l, const void *_r)
{
+ cond_resched();
+
const struct journal_key *l = _l;
const struct journal_key *r = _r;