Commit 3a63b32f authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: bch2_trans_mark_pointer() refactoring

bch2_bucket_backpointer_mod() doesn't need to update the alloc key, we
can exit the alloc iter earlier.
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 9473cff9
...@@ -1441,20 +1441,20 @@ static inline int bch2_trans_mark_pointer(struct btree_trans *trans, ...@@ -1441,20 +1441,20 @@ static inline int bch2_trans_mark_pointer(struct btree_trans *trans,
ret = __mark_pointer(trans, k, &p.ptr, sectors, bp.data_type, ret = __mark_pointer(trans, k, &p.ptr, sectors, bp.data_type,
a->v.gen, &a->v.data_type, a->v.gen, &a->v.data_type,
&a->v.dirty_sectors, &a->v.cached_sectors); &a->v.dirty_sectors, &a->v.cached_sectors) ?:
bch2_trans_update(trans, &iter, &a->k_i, 0);
bch2_trans_iter_exit(trans, &iter);
if (ret) if (ret)
goto err; return ret;
if (!p.ptr.cached) { if (!p.ptr.cached) {
ret = bch2_bucket_backpointer_mod(trans, bucket, bp, k, insert); ret = bch2_bucket_backpointer_mod(trans, bucket, bp, k, insert);
if (ret) if (ret)
goto err; return ret;
} }
ret = bch2_trans_update(trans, &iter, &a->k_i, 0); return 0;
err:
bch2_trans_iter_exit(trans, &iter);
return ret;
} }
static int bch2_trans_mark_stripe_ptr(struct btree_trans *trans, static int bch2_trans_mark_stripe_ptr(struct btree_trans *trans,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment