summaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_iter.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-12-13 04:30:44 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2024-01-01 19:47:44 +0300
commit5cc6daf74979ca951ce2550847995b3b18398af4 (patch)
treeeff7bc84a6fefbddea7fb1076d5a429205415de5 /fs/bcachefs/btree_iter.c
parent31403dca5bb1e55ea0ea6ad1264b81fa8c9a3768 (diff)
downloadlinux-5cc6daf74979ca951ce2550847995b3b18398af4.tar.xz
bcachefs: trans->updates will also be resizable
the reflink triggers are also bumping up against the maximum number of paths in a transaction - and generating proportional numbers of updates. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_iter.c')
-rw-r--r--fs/bcachefs/btree_iter.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c
index c35a262f6081..3c45d9e195d0 100644
--- a/fs/bcachefs/btree_iter.c
+++ b/fs/bcachefs/btree_iter.c
@@ -2888,7 +2888,7 @@ struct btree_trans *__bch2_trans_get(struct bch_fs *c, unsigned fn_idx)
if (IS_ENABLED(__KERNEL__)) {
trans = this_cpu_xchg(c->btree_trans_bufs->trans, NULL);
if (trans) {
- memset(trans, 0, offsetof(struct btree_trans, updates));
+ memset(trans, 0, offsetof(struct btree_trans, list));
goto got_trans;
}
}
@@ -2936,6 +2936,7 @@ got_trans:
trans->paths_allocated = trans->_paths_allocated;
trans->sorted = trans->_sorted;
trans->paths = trans->_paths;
+ trans->updates = trans->_updates;
*trans_paths_nr(trans->paths) = BTREE_ITER_MAX;