summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-03-13 21:58:14 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-03-14 20:27:43 -0400
commit2f06ea4039281c536dc71cadeb9afd5243ff67c9 (patch)
treed9d21e9ff2ae5ec416d03dfa1f9f364ebf1dfd14
parenta97df3cb3c9296818c1a459d3f49719e5fa51d6a (diff)
bcachefs: Don't use BTREE_ITER_INTENT in make_extent_indirect()
This is a workaround for a btree path overflow - searching with BTREE_ITER_INTENT periodically saves the iterator position for updates, which eventually overflows. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/reflink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/bcachefs/reflink.c b/fs/bcachefs/reflink.c
index d2e6adc13fb1..d8426e754cdf 100644
--- a/fs/bcachefs/reflink.c
+++ b/fs/bcachefs/reflink.c
@@ -189,7 +189,7 @@ static int bch2_make_extent_indirect(struct btree_trans *trans,
for_each_btree_key_norestart(trans, reflink_iter, BTREE_ID_reflink,
POS(0, c->reflink_hint),
- BTREE_ITER_INTENT|BTREE_ITER_SLOTS, k, ret) {
+ BTREE_ITER_SLOTS, k, ret) {
if (reflink_iter.pos.inode) {
bch2_btree_iter_set_pos(&reflink_iter, POS_MIN);
continue;