]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bcachefs: Kill bch2_propagate_key_to_snapshot_leaves()
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 30 Sep 2024 04:38:13 +0000 (00:38 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 9 Oct 2024 20:42:53 +0000 (16:42 -0400)
Dead code now.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/snapshot.c
fs/bcachefs/snapshot.h

index 1809442b00ee44699c9ca7f9b509ed3d3e01f7c2..9f4d13faf7aaa44eb4ac3943e3acd54e9f842d81 100644 (file)
@@ -1732,103 +1732,6 @@ int __bch2_key_has_snapshot_overwrites(struct btree_trans *trans,
        return ret;
 }
 
-static u32 bch2_snapshot_smallest_child(struct bch_fs *c, u32 id)
-{
-       const struct snapshot_t *s = snapshot_t(c, id);
-
-       return s->children[1] ?: s->children[0];
-}
-
-static u32 bch2_snapshot_smallest_descendent(struct bch_fs *c, u32 id)
-{
-       u32 child;
-
-       while ((child = bch2_snapshot_smallest_child(c, id)))
-               id = child;
-       return id;
-}
-
-static int bch2_propagate_key_to_snapshot_leaf(struct btree_trans *trans,
-                                              enum btree_id btree,
-                                              struct bkey_s_c interior_k,
-                                              u32 leaf_id, struct bpos *new_min_pos)
-{
-       struct btree_iter iter;
-       struct bpos pos = interior_k.k->p;
-       struct bkey_s_c k;
-       struct bkey_i *new;
-       int ret;
-
-       pos.snapshot = leaf_id;
-
-       bch2_trans_iter_init(trans, &iter, btree, pos, BTREE_ITER_intent);
-       k = bch2_btree_iter_peek_slot(&iter);
-       ret = bkey_err(k);
-       if (ret)
-               goto out;
-
-       /* key already overwritten in this snapshot? */
-       if (k.k->p.snapshot != interior_k.k->p.snapshot)
-               goto out;
-
-       if (bpos_eq(*new_min_pos, POS_MIN)) {
-               *new_min_pos = k.k->p;
-               new_min_pos->snapshot = leaf_id;
-       }
-
-       new = bch2_bkey_make_mut_noupdate(trans, interior_k);
-       ret = PTR_ERR_OR_ZERO(new);
-       if (ret)
-               goto out;
-
-       new->k.p.snapshot = leaf_id;
-       ret = bch2_trans_update(trans, &iter, new, 0);
-out:
-       bch2_set_btree_iter_dontneed(&iter);
-       bch2_trans_iter_exit(trans, &iter);
-       return ret;
-}
-
-int bch2_propagate_key_to_snapshot_leaves(struct btree_trans *trans,
-                                         enum btree_id btree,
-                                         struct bkey_s_c k,
-                                         struct bpos *new_min_pos)
-{
-       struct bch_fs *c = trans->c;
-       struct bkey_buf sk;
-       u32 restart_count = trans->restart_count;
-       int ret = 0;
-
-       bch2_bkey_buf_init(&sk);
-       bch2_bkey_buf_reassemble(&sk, c, k);
-       k = bkey_i_to_s_c(sk.k);
-
-       *new_min_pos = POS_MIN;
-
-       for (u32 id = bch2_snapshot_smallest_descendent(c, k.k->p.snapshot);
-            id < k.k->p.snapshot;
-            id++) {
-               if (!bch2_snapshot_is_ancestor(c, id, k.k->p.snapshot) ||
-                   !bch2_snapshot_is_leaf(c, id))
-                       continue;
-again:
-               ret =   btree_trans_too_many_iters(trans) ?:
-                       bch2_propagate_key_to_snapshot_leaf(trans, btree, k, id, new_min_pos) ?:
-                       bch2_trans_commit(trans, NULL, NULL, 0);
-               if (ret && bch2_err_matches(ret, BCH_ERR_transaction_restart)) {
-                       bch2_trans_begin(trans);
-                       goto again;
-               }
-
-               if (ret)
-                       break;
-       }
-
-       bch2_bkey_buf_exit(&sk, c);
-
-       return ret ?: trans_was_restarted(trans, restart_count);
-}
-
 static int bch2_check_snapshot_needs_deletion(struct btree_trans *trans, struct bkey_s_c k)
 {
        struct bch_fs *c = trans->c;
index eb5ef64221d6e11b9adb47fc0f3ddabedb729914..29c94716293e1ace5639ad62dd2c598df458318f 100644 (file)
@@ -259,9 +259,6 @@ static inline int bch2_key_has_snapshot_overwrites(struct btree_trans *trans,
        return __bch2_key_has_snapshot_overwrites(trans, id, pos);
 }
 
-int bch2_propagate_key_to_snapshot_leaves(struct btree_trans *, enum btree_id,
-                                         struct bkey_s_c, struct bpos *);
-
 int bch2_snapshots_read(struct bch_fs *);
 void bch2_fs_snapshots_exit(struct bch_fs *);