summaryrefslogtreecommitdiff
path: root/libbcachefs/util.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-09-09 16:09:20 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-09-14 11:28:41 -0400
commit6ad0fa30a9c5aafda1206a64ba1262796ed35457 (patch)
treed779ccee13ee4e8fa7a7b21e799dd6126a48274d /libbcachefs/util.c
parent0c6b9627a40559939ae58d305089c17dea7df5df (diff)
Update bcachefs sources to 1c8d3fc41e72 bcachefs: fast_list.c is only required for async obj debugging
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/util.c')
-rw-r--r--libbcachefs/util.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libbcachefs/util.c b/libbcachefs/util.c
index 2a946227..16d746f1 100644
--- a/libbcachefs/util.c
+++ b/libbcachefs/util.c
@@ -299,8 +299,10 @@ int bch2_save_backtrace(bch_stacktrace *stack, struct task_struct *task, unsigne
if (ret)
return ret;
+ skipnr += task == current;
+
do {
- nr_entries = stack_trace_save_tsk(task, stack->data, stack->size, skipnr + 1);
+ nr_entries = stack_trace_save_tsk(task, stack->data, stack->size, skipnr);
} while (nr_entries == stack->size &&
!(ret = darray_make_room_gfp(stack, stack->size * 2, gfp)));
@@ -321,8 +323,10 @@ void bch2_prt_backtrace(struct printbuf *out, bch_stacktrace *stack)
int bch2_prt_task_backtrace(struct printbuf *out, struct task_struct *task, unsigned skipnr, gfp_t gfp)
{
+ skipnr += task == current;
+
CLASS(bch_stacktrace, stack)();
- int ret = bch2_save_backtrace(&stack, task, skipnr + 1, gfp);
+ int ret = bch2_save_backtrace(&stack, task, skipnr, gfp);
bch2_prt_backtrace(out, &stack);
return ret;