diff options
Diffstat (limited to 'libbcachefs/btree_update_leaf.c')
-rw-r--r-- | libbcachefs/btree_update_leaf.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/libbcachefs/btree_update_leaf.c b/libbcachefs/btree_update_leaf.c index a62d8307..588a1997 100644 --- a/libbcachefs/btree_update_leaf.c +++ b/libbcachefs/btree_update_leaf.c @@ -205,8 +205,6 @@ btree_insert_key_leaf(struct btree_insert *trans, int old_live_u64s = b->nr.live_u64s; int live_u64s_added, u64s_added; - btree_iter_set_dirty(iter, BTREE_ITER_NEED_PEEK); - ret = !btree_node_is_extents(b) ? bch2_insert_fixup_key(trans, insert) : bch2_insert_fixup_extent(trans, insert); @@ -430,9 +428,9 @@ int __bch2_btree_insert_at(struct btree_insert *trans) BUG_ON(i->iter->level); BUG_ON(bkey_cmp(bkey_start_pos(&i->k->k), i->iter->pos)); BUG_ON(debug_check_bkeys(c) && + !bkey_deleted(&i->k->k) && bch2_bkey_invalid(c, i->iter->btree_id, bkey_i_to_s_c(i->k))); - BUG_ON(i->iter->uptodate == BTREE_ITER_END); } bubble_sort(trans->entries, trans->nr, btree_trans_cmp); @@ -444,7 +442,7 @@ retry: cycle_gc_lock = false; trans_for_each_entry(trans, i) { - if (!bch2_btree_iter_upgrade(i->iter, 1)) { + if (!bch2_btree_iter_upgrade(i->iter, 1, true)) { ret = -EINTR; goto err; } @@ -647,11 +645,6 @@ int bch2_btree_delete_range(struct bch_fs *c, enum btree_id id, if (bkey_cmp(iter.pos, end) >= 0) break; - if (k.k->type == KEY_TYPE_DISCARD) { - bch2_btree_iter_next(&iter); - continue; - } - bkey_init(&delete.k); /* @@ -668,15 +661,6 @@ int bch2_btree_delete_range(struct bch_fs *c, enum btree_id id, delete.k.version = version; if (iter.flags & BTREE_ITER_IS_EXTENTS) { - /* - * The extents btree is special - KEY_TYPE_DISCARD is - * used for deletions, not KEY_TYPE_DELETED. This is an - * internal implementation detail that probably - * shouldn't be exposed (internally, KEY_TYPE_DELETED is - * used as a proxy for k->size == 0): - */ - delete.k.type = KEY_TYPE_DISCARD; - /* create the biggest key we can */ bch2_key_resize(&delete.k, max_sectors); bch2_cut_back(end, &delete.k); |