diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-08-25 04:30:06 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:09:10 +0300 |
commit | 9f6bd30703a32c25988c6aca87c1be1baddc57bd (patch) | |
tree | a5dc43e042198b4969c84ca814b2aa8c99548c01 /fs/bcachefs/extent_update.c | |
parent | 84841b0d1320c2084facb2f040d6ac0dfced943e (diff) | |
download | linux-9f6bd30703a32c25988c6aca87c1be1baddc57bd.tar.xz |
bcachefs: Reduce iter->trans usage
Disfavoured, and should go away.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/extent_update.c')
-rw-r--r-- | fs/bcachefs/extent_update.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/fs/bcachefs/extent_update.c b/fs/bcachefs/extent_update.c index 4a8dd085f7fb..93d55f46233f 100644 --- a/fs/bcachefs/extent_update.c +++ b/fs/bcachefs/extent_update.c @@ -94,11 +94,11 @@ static int count_iters_for_insert(struct btree_trans *trans, #define EXTENT_ITERS_MAX (BTREE_ITER_MAX / 3) -int bch2_extent_atomic_end(struct btree_iter *iter, +int bch2_extent_atomic_end(struct btree_trans *trans, + struct btree_iter *iter, struct bkey_i *insert, struct bpos *end) { - struct btree_trans *trans = iter->trans; struct btree_iter *copy; struct bkey_s_c k; unsigned nr_iters = 0; @@ -153,27 +153,17 @@ int bch2_extent_atomic_end(struct btree_iter *iter, return ret < 0 ? ret : 0; } -int bch2_extent_trim_atomic(struct bkey_i *k, struct btree_iter *iter) +int bch2_extent_trim_atomic(struct btree_trans *trans, + struct btree_iter *iter, + struct bkey_i *k) { struct bpos end; int ret; - ret = bch2_extent_atomic_end(iter, k, &end); + ret = bch2_extent_atomic_end(trans, iter, k, &end); if (ret) return ret; bch2_cut_back(end, k); return 0; } - -int bch2_extent_is_atomic(struct bkey_i *k, struct btree_iter *iter) -{ - struct bpos end; - int ret; - - ret = bch2_extent_atomic_end(iter, k, &end); - if (ret) - return ret; - - return !bkey_cmp(end, k->k.p); -} |