bcachefs: Kill bch2_extent_trim_atomic() usage
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 6 Jan 2023 11:29:04 +0000 (06:29 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:48 +0000 (17:09 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_update_leaf.c
fs/bcachefs/inode.c

index d333d0e46d0d8a544ebaabf726c32396466d9a41..3e57722007a99629214778ebad4038f894281e2f 100644 (file)
@@ -1716,18 +1716,10 @@ int bch2_btree_delete_range_trans(struct btree_trans *trans, enum btree_id id,
                 */
                delete.k.p = iter.pos;
 
-               if (iter.flags & BTREE_ITER_IS_EXTENTS) {
-                       unsigned max_sectors =
-                               KEY_SIZE_MAX & (~0 << trans->c->block_bits);
-
-                       /* create the biggest key we can */
-                       bch2_key_resize(&delete.k, max_sectors);
-                       bch2_cut_back(end, &delete);
-
-                       ret = bch2_extent_trim_atomic(trans, &iter, &delete);
-                       if (ret)
-                               goto err;
-               }
+               if (iter.flags & BTREE_ITER_IS_EXTENTS)
+                       bch2_key_resize(&delete.k,
+                                       bpos_min(end, k.k->p).offset -
+                                       iter.pos.offset);
 
                ret   = bch2_trans_update(trans, &iter, &delete, update_flags) ?:
                        bch2_trans_commit(trans, &disk_res, journal_seq,
index cf453edcb5ab6602d673aab4811262aacca0c188..141cf21e29511f1c75a9bef3a6d3d0273f958b25 100644 (file)
@@ -595,11 +595,11 @@ static int bch2_inode_delete_keys(struct btree_trans *trans,
        int ret = 0;
 
        /*
-        * We're never going to be deleting extents, no need to use an extent
-        * iterator:
+        * We're never going to be deleting partial extents, no need to use an
+        * extent iterator:
         */
        bch2_trans_iter_init(trans, &iter, id, POS(inum.inum, 0),
-                            BTREE_ITER_INTENT);
+                            BTREE_ITER_INTENT|BTREE_ITER_NOT_EXTENTS);
 
        while (1) {
                bch2_trans_begin(trans);
@@ -621,14 +621,6 @@ static int bch2_inode_delete_keys(struct btree_trans *trans,
                bkey_init(&delete.k);
                delete.k.p = iter.pos;
 
-               if (iter.flags & BTREE_ITER_IS_EXTENTS) {
-                       bch2_key_resize(&delete.k, k.k->p.offset - iter.pos.offset);
-
-                       ret = bch2_extent_trim_atomic(trans, &iter, &delete);
-                       if (ret)
-                               goto err;
-               }
-
                ret = bch2_trans_update(trans, &iter, &delete, 0) ?:
                      bch2_trans_commit(trans, NULL, NULL,
                                        BTREE_INSERT_NOFAIL);