summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/buckets.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-12-27 23:19:09 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2024-01-05 23:24:19 -0500
commit717296c34c8d9d13d7aad4d710b0c3bdb285783b (patch)
treee458287091df3435dabd74d4cd34d2ebea33a019 /fs/bcachefs/buckets.c
parenteff1f728bedc014c783752af5d2a88c46586f654 (diff)
downloadlinux-stable-717296c34c8d9d13d7aad4d710b0c3bdb285783b.tar.gz
linux-stable-717296c34c8d9d13d7aad4d710b0c3bdb285783b.tar.bz2
linux-stable-717296c34c8d9d13d7aad4d710b0c3bdb285783b.zip
bcachefs: trans_mark now takes bkey_s
Prep work for disk space accounting rewrite: we're going to want to use a single callback for both of our current triggers, so we need to change them to have the same type signature first. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/buckets.c')
-rw-r--r--fs/bcachefs/buckets.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c
index c0dac04253f7..e96e41891878 100644
--- a/fs/bcachefs/buckets.c
+++ b/fs/bcachefs/buckets.c
@@ -1423,15 +1423,15 @@ static int __trans_mark_extent(struct btree_trans *trans,
int bch2_trans_mark_extent(struct btree_trans *trans,
enum btree_id btree_id, unsigned level,
- struct bkey_s_c old, struct bkey_i *new,
+ struct bkey_s_c old, struct bkey_s new,
unsigned flags)
{
struct bch_fs *c = trans->c;
- int mod = (int) bch2_bkey_needs_rebalance(c, bkey_i_to_s_c(new)) -
+ int mod = (int) bch2_bkey_needs_rebalance(c, new.s_c) -
(int) bch2_bkey_needs_rebalance(c, old);
if (mod) {
- int ret = bch2_btree_bit_mod(trans, BTREE_ID_rebalance_work, new->k.p, mod > 0);
+ int ret = bch2_btree_bit_mod(trans, BTREE_ID_rebalance_work, new.k->p, mod > 0);
if (ret)
return ret;
}
@@ -1519,7 +1519,7 @@ err:
int bch2_trans_mark_stripe(struct btree_trans *trans,
enum btree_id btree_id, unsigned level,
- struct bkey_s_c old, struct bkey_i *new,
+ struct bkey_s_c old, struct bkey_s new,
unsigned flags)
{
const struct bch_stripe *old_s = NULL;
@@ -1530,8 +1530,8 @@ int bch2_trans_mark_stripe(struct btree_trans *trans,
if (old.k->type == KEY_TYPE_stripe)
old_s = bkey_s_c_to_stripe(old).v;
- if (new->k.type == KEY_TYPE_stripe)
- new_s = &bkey_i_to_stripe(new)->v;
+ if (new.k->type == KEY_TYPE_stripe)
+ new_s = bkey_s_to_stripe(new).v;
/*
* If the pointers aren't changing, we don't need to do anything:
@@ -1552,7 +1552,7 @@ int bch2_trans_mark_stripe(struct btree_trans *trans,
if (new_s) {
s64 sectors = le16_to_cpu(new_s->sectors);
- bch2_bkey_to_replicas(&r.e, bkey_i_to_s_c(new));
+ bch2_bkey_to_replicas(&r.e, new.s_c);
ret = bch2_update_replicas_list(trans, &r.e, sectors * new_s->nr_redundant);
if (ret)
return ret;
@@ -1576,7 +1576,7 @@ int bch2_trans_mark_stripe(struct btree_trans *trans,
if (new_s) {
ret = bch2_trans_mark_stripe_bucket(trans,
- bkey_i_to_s_c_stripe(new), i, false);
+ bkey_s_to_stripe(new).c, i, false);
if (ret)
break;
}
@@ -1620,7 +1620,7 @@ static int __trans_mark_reservation(struct btree_trans *trans,
int bch2_trans_mark_reservation(struct btree_trans *trans,
enum btree_id btree_id, unsigned level,
struct bkey_s_c old,
- struct bkey_i *new,
+ struct bkey_s new,
unsigned flags)
{
return trigger_run_overwrite_then_insert(__trans_mark_reservation, trans, btree_id, level, old, new, flags);