]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bcachefs: Inode delete doesn't need to flush key cache anymore
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 13 Nov 2020 21:51:02 +0000 (16:51 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:47 +0000 (17:08 -0400)
Inode create checks to make sure the slot doesn't exist in the btree key
cache.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/inode.c

index 8e52d475b397eaa39a35e80fa848fd694b1086ac..f00778d782712645fd6b723e65b5d9686313305d 100644 (file)
@@ -576,16 +576,9 @@ retry:
 
        bi_generation = 0;
 
-       ret = bch2_btree_key_cache_flush(&trans, BTREE_ID_INODES, POS(0, inode_nr));
-       if (ret) {
-               if (ret != -EINTR)
-                       bch_err(c, "error flushing btree key cache: %i", ret);
-               goto err;
-       }
-
        iter = bch2_trans_get_iter(&trans, BTREE_ID_INODES, POS(0, inode_nr),
-                                  BTREE_ITER_SLOTS|BTREE_ITER_INTENT);
-       k = bch2_btree_iter_peek_slot(iter);
+                                  BTREE_ITER_CACHED|BTREE_ITER_INTENT);
+       k = bch2_btree_iter_peek_cached(iter);
 
        ret = bkey_err(k);
        if (ret)