diff options
| author | Kent Overstreet <[email protected]> | 2022-09-28 10:16:57 -0400 |
|---|---|---|
| committer | Kent Overstreet <[email protected]> | 2023-10-22 17:09:42 -0400 |
| commit | 685e0f0c477dfc2b2147a20137a349f25b0a1f62 (patch) | |
| tree | 10b823a41df53f79845364acf00ebf15d1aca065 /tools/perf/scripts/python/bin/flamegraph-record | |
| parent | ae10fe017bf54653a61a93e49fac1c3e2b474e20 (diff) | |
bcachefs: Fix a trans path overflow in bch2_btree_delete_range_trans()
bch2_btree_delete_range_trans() was using btree_trans_too_many_iters()
to avoid path overflow, but this was buggy here (and also
btree_trans_too_many_iters() is suspect in general).
btree_trans_too_many_iters() only returns true when we're close to the
maximum number of paths - within 8 - but extent insert/delete assumes
that it can use more paths than that.
Instead, we need to call bch2_trans_begin() on every loop iteration.
Since we don't want to call bch2_trans_begin() (restarting the outer
transaction) if the call was a no-op - if we had no work to do - we have
to structure things a bit oddly.
Signed-off-by: Kent Overstreet <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin/flamegraph-record')
0 files changed, 0 insertions, 0 deletions