bcachefs: Delete duplicate code
authorKent Overstreet <kent.overstreet@gmail.com>
Wed, 15 May 2019 13:47:40 +0000 (09:47 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:22 +0000 (17:08 -0400)
Also rename for consistency

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_cache.c
fs/bcachefs/btree_iter.c
fs/bcachefs/btree_iter.h
fs/bcachefs/btree_update_interior.c
fs/bcachefs/btree_update_leaf.c
fs/bcachefs/ec.c
fs/bcachefs/fs-io.c
fs/bcachefs/fsck.c
fs/bcachefs/io.c

index ece2c4d2ebd86e50ea55eb697ae6f5d2bb7dbc1f..34a6d67a5bf1e596c8c3c324d48e609f24f67f3c 100644 (file)
@@ -841,7 +841,7 @@ struct btree *bch2_btree_node_get_sibling(struct bch_fs *c,
                        }
                }
 
-               bch2_btree_trans_relock(trans);
+               bch2_trans_relock(trans);
        }
 out:
        if (btree_lock_want(iter, level + 1) == BTREE_NODE_UNLOCKED)
index 4d107d890438fb845c77ec98bfd441a6d2b00c53..5995e8e6c0d78931a677a2f571b33d19f39c5618 100644 (file)
@@ -408,7 +408,9 @@ void __bch2_btree_iter_downgrade(struct btree_iter *iter,
        bch2_btree_trans_verify_locks(iter->trans);
 }
 
-bool bch2_btree_trans_relock(struct btree_trans *trans)
+/* Btree transaction locking: */
+
+bool bch2_trans_relock(struct btree_trans *trans)
 {
        struct btree_iter *iter;
        bool ret = true;
@@ -419,7 +421,7 @@ bool bch2_btree_trans_relock(struct btree_trans *trans)
        return ret;
 }
 
-void bch2_btree_trans_unlock(struct btree_trans *trans)
+void bch2_trans_unlock(struct btree_trans *trans)
 {
        struct btree_iter *iter;
 
@@ -427,8 +429,6 @@ void bch2_btree_trans_unlock(struct btree_trans *trans)
                __bch2_btree_iter_unlock(iter);
 }
 
-/* Btree transaction locking: */
-
 /* Btree iterator: */
 
 #ifdef CONFIG_BCACHEFS_DEBUG
@@ -982,7 +982,7 @@ static int __btree_iter_traverse_all(struct btree_trans *trans,
 #undef btree_iter_cmp_by_idx
 
 retry_all:
-       bch2_btree_trans_unlock(trans);
+       bch2_trans_unlock(trans);
 
        if (unlikely(ret == -ENOMEM)) {
                struct closure cl;
@@ -1885,24 +1885,6 @@ void *bch2_trans_kmalloc(struct btree_trans *trans,
        return ret;
 }
 
-int bch2_trans_unlock(struct btree_trans *trans)
-{
-       u64 iters = trans->iters_linked;
-       int ret = 0;
-
-       while (iters) {
-               unsigned idx = __ffs64(iters);
-               struct btree_iter *iter = &trans->iters[idx];
-
-               ret = ret ?: btree_iter_err(iter);
-
-               __bch2_btree_iter_unlock(iter);
-               iters ^= 1ULL << idx;
-       }
-
-       return ret;
-}
-
 inline void bch2_trans_unlink_iters(struct btree_trans *trans, u64 iters)
 {
        iters &= trans->iters_linked;
index 4dff3bc70fbc7bfb1e58bb39522532918ff1233d..18100722ccfd89a77a538f41fc5bcddbd13bbecc 100644 (file)
@@ -103,8 +103,8 @@ void bch2_btree_node_iter_fix(struct btree_iter *, struct btree *,
                              struct btree_node_iter *, struct bkey_packed *,
                              unsigned, unsigned);
 
-bool bch2_btree_trans_relock(struct btree_trans *);
-void bch2_btree_trans_unlock(struct btree_trans *);
+bool bch2_trans_relock(struct btree_trans *);
+void bch2_trans_unlock(struct btree_trans *);
 
 bool __bch2_btree_iter_upgrade(struct btree_iter *, unsigned);
 bool __bch2_btree_iter_upgrade_nounlock(struct btree_iter *, unsigned);
@@ -191,8 +191,6 @@ static inline int btree_iter_cmp(const struct btree_iter *l,
        return __btree_iter_cmp(l->btree_id, l->pos, r);
 }
 
-int bch2_trans_unlock(struct btree_trans *);
-
 /*
  * Unlocks before scheduling
  * Note: does not revalidate iterator
index 9ec91c5c1bd8b173f4560d4d8bde77abe576a714..d0ca08a323a10af2d9b5aadfe688491fe34d93d8 100644 (file)
@@ -1574,10 +1574,10 @@ int bch2_btree_split_leaf(struct bch_fs *c, struct btree_iter *iter,
                if (flags & BTREE_INSERT_NOUNLOCK)
                        return -EINTR;
 
-               bch2_btree_trans_unlock(trans);
+               bch2_trans_unlock(trans);
                down_read(&c->gc_lock);
 
-               if (!bch2_btree_trans_relock(trans))
+               if (!bch2_trans_relock(trans))
                        ret = -EINTR;
        }
 
@@ -1598,7 +1598,7 @@ int bch2_btree_split_leaf(struct bch_fs *c, struct btree_iter *iter,
                ret = PTR_ERR(as);
                if (ret == -EAGAIN) {
                        BUG_ON(flags & BTREE_INSERT_NOUNLOCK);
-                       bch2_btree_trans_unlock(trans);
+                       bch2_trans_unlock(trans);
                        ret = -EINTR;
                }
                goto out;
@@ -1778,7 +1778,7 @@ err_cycle_gc_lock:
        if (flags & BTREE_INSERT_NOUNLOCK)
                goto out;
 
-       bch2_btree_trans_unlock(trans);
+       bch2_trans_unlock(trans);
 
        down_read(&c->gc_lock);
        up_read(&c->gc_lock);
@@ -1794,7 +1794,7 @@ err:
 
        if ((ret == -EAGAIN || ret == -EINTR) &&
            !(flags & BTREE_INSERT_NOUNLOCK)) {
-               bch2_btree_trans_unlock(trans);
+               bch2_trans_unlock(trans);
                closure_sync(&cl);
                ret = bch2_btree_iter_traverse(iter);
                if (ret)
@@ -1874,7 +1874,7 @@ int bch2_btree_node_rewrite(struct bch_fs *c, struct btree_iter *iter,
 
        if (!(flags & BTREE_INSERT_GC_LOCK_HELD)) {
                if (!down_read_trylock(&c->gc_lock)) {
-                       bch2_btree_trans_unlock(trans);
+                       bch2_trans_unlock(trans);
                        down_read(&c->gc_lock);
                }
        }
@@ -1893,7 +1893,7 @@ int bch2_btree_node_rewrite(struct bch_fs *c, struct btree_iter *iter,
                    ret != -EINTR)
                        break;
 
-               bch2_btree_trans_unlock(trans);
+               bch2_trans_unlock(trans);
                closure_sync(&cl);
        }
 
@@ -2046,10 +2046,10 @@ int bch2_btree_node_update_key(struct bch_fs *c, struct btree_iter *iter,
                return -EINTR;
 
        if (!down_read_trylock(&c->gc_lock)) {
-               bch2_btree_trans_unlock(iter->trans);
+               bch2_trans_unlock(iter->trans);
                down_read(&c->gc_lock);
 
-               if (!bch2_btree_trans_relock(iter->trans)) {
+               if (!bch2_trans_relock(iter->trans)) {
                        ret = -EINTR;
                        goto err;
                }
@@ -2060,12 +2060,12 @@ int bch2_btree_node_update_key(struct bch_fs *c, struct btree_iter *iter,
                /* bch2_btree_reserve_get will unlock */
                ret = bch2_btree_cache_cannibalize_lock(c, &cl);
                if (ret) {
-                       bch2_btree_trans_unlock(iter->trans);
+                       bch2_trans_unlock(iter->trans);
                        up_read(&c->gc_lock);
                        closure_sync(&cl);
                        down_read(&c->gc_lock);
 
-                       if (!bch2_btree_trans_relock(iter->trans)) {
+                       if (!bch2_trans_relock(iter->trans)) {
                                ret = -EINTR;
                                goto err;
                        }
@@ -2089,12 +2089,12 @@ int bch2_btree_node_update_key(struct bch_fs *c, struct btree_iter *iter,
                if (ret != -EINTR)
                        goto err;
 
-               bch2_btree_trans_unlock(iter->trans);
+               bch2_trans_unlock(iter->trans);
                up_read(&c->gc_lock);
                closure_sync(&cl);
                down_read(&c->gc_lock);
 
-               if (!bch2_btree_trans_relock(iter->trans))
+               if (!bch2_trans_relock(iter->trans))
                        goto err;
        }
 
index d21f6f0351824899ff4015c7c87082a41efe2199..7286a5b45481083f0264b121e2c1e5d2f132c5f9 100644 (file)
@@ -431,14 +431,14 @@ static int bch2_trans_journal_preres_get(struct btree_trans *trans)
        if (ret != -EAGAIN)
                return ret;
 
-       bch2_btree_trans_unlock(trans);
+       bch2_trans_unlock(trans);
 
        ret = bch2_journal_preres_get(&c->journal,
                        &trans->journal_preres, u64s, 0);
        if (ret)
                return ret;
 
-       if (!bch2_btree_trans_relock(trans)) {
+       if (!bch2_trans_relock(trans)) {
                trans_restart(" (iter relock after journal preres get blocked)");
                trace_trans_restart_journal_preres_get(c, trans->ip);
                return -EINTR;
@@ -736,7 +736,7 @@ int bch2_trans_commit_error(struct btree_trans *trans,
                                return ret;
                }
 
-               if (bch2_btree_trans_relock(trans))
+               if (bch2_trans_relock(trans))
                        return 0;
 
                trans_restart(" (iter relock after marking replicas)");
@@ -744,13 +744,13 @@ int bch2_trans_commit_error(struct btree_trans *trans,
                ret = -EINTR;
                break;
        case BTREE_INSERT_NEED_JOURNAL_RES:
-               bch2_btree_trans_unlock(trans);
+               bch2_trans_unlock(trans);
 
                ret = bch2_trans_journal_res_get(trans, JOURNAL_RES_GET_CHECK);
                if (ret)
                        return ret;
 
-               if (bch2_btree_trans_relock(trans))
+               if (bch2_trans_relock(trans))
                        return 0;
 
                trans_restart(" (iter relock after journal res get blocked)");
@@ -878,7 +878,7 @@ int bch2_trans_commit(struct btree_trans *trans,
                if (likely(!(trans->flags & BTREE_INSERT_LAZY_RW)))
                        return -EROFS;
 
-               bch2_btree_trans_unlock(trans);
+               bch2_trans_unlock(trans);
 
                ret = bch2_fs_read_write_early(c);
                if (ret)
@@ -886,7 +886,7 @@ int bch2_trans_commit(struct btree_trans *trans,
 
                percpu_ref_get(&c->writes);
 
-               if (!bch2_btree_trans_relock(trans)) {
+               if (!bch2_trans_relock(trans)) {
                        ret = -EINTR;
                        goto err;
                }
index 56939428a21ae07df49ab8f4d33cc7af5a861833..49cbc0bcd522d22ba367fe3ced3b79f485e8d9d8 100644 (file)
@@ -563,7 +563,7 @@ static int ec_stripe_mem_alloc(struct bch_fs *c,
        if (!__ec_stripe_mem_alloc(c, idx, GFP_NOWAIT|__GFP_NOWARN))
                return ret;
 
-       bch2_btree_trans_unlock(iter->trans);
+       bch2_trans_unlock(iter->trans);
        ret = -EINTR;
 
        if (!__ec_stripe_mem_alloc(c, idx, GFP_KERNEL))
index 619daf65e1ec370ef1238e7651149cf94ce8b569..bce45c87c9017d1ebf965c00668998df3a346fd1 100644 (file)
@@ -322,10 +322,10 @@ static int bch2_extent_update(struct btree_trans *trans,
        if (i_sectors_delta ||
            new_i_size > inode->ei_inode.bi_size) {
                if (c->opts.new_inode_updates) {
-                       bch2_btree_trans_unlock(trans);
+                       bch2_trans_unlock(trans);
                        mutex_lock(&inode->ei_update_lock);
 
-                       if (!bch2_btree_trans_relock(trans)) {
+                       if (!bch2_trans_relock(trans)) {
                                mutex_unlock(&inode->ei_update_lock);
                                return -EINTR;
                        }
@@ -949,7 +949,7 @@ static void bchfs_read(struct btree_trans *trans, struct btree_iter *iter,
                }
 
                bkey_reassemble(&tmp.k, k);
-               bch2_btree_trans_unlock(trans);
+               bch2_trans_unlock(trans);
                k = bkey_i_to_s_c(&tmp.k);
 
                if (readpages_iter) {
index 61569e4e1c77125b6a46c3038732894ec7b87991..2dfa87edb116be95d0d94db952ca4384895c5485 100644 (file)
@@ -58,7 +58,7 @@ static int remove_dirent(struct btree_trans *trans,
        name.name = buf;
 
        /* Unlock so we don't deadlock, after copying name: */
-       bch2_btree_trans_unlock(trans);
+       bch2_trans_unlock(trans);
 
        ret = bch2_inode_find_by_inum(c, dir_inum, &dir_inode);
        if (ret) {
@@ -1015,7 +1015,7 @@ retry:
                if (fsck_err_on(!inode_bitmap_test(&dirs_done, k.k->p.inode), c,
                                "unreachable directory found (inum %llu)",
                                k.k->p.inode)) {
-                       bch2_btree_trans_unlock(&trans);
+                       bch2_trans_unlock(&trans);
 
                        ret = reattach_inode(c, lostfound_inode, k.k->p.inode);
                        if (ret) {
@@ -1229,7 +1229,7 @@ static int check_inode(struct btree_trans *trans,
 
        ret = bch2_inode_unpack(inode, &u);
 
-       bch2_btree_trans_unlock(trans);
+       bch2_trans_unlock(trans);
 
        if (bch2_fs_inconsistent_on(ret, c,
                         "error unpacking inode %llu in fsck",
index 9bb4b1fe5b8a02f8812b9aeba5342fb86c37edc2..a676cc1e390df57d7bb9b80fd6dc71d35111cdb9 100644 (file)
@@ -1332,7 +1332,7 @@ retry:
 
                bkey_reassemble(&tmp.k, k);
                k = bkey_i_to_s_c(&tmp.k);
-               bch2_btree_trans_unlock(&trans);
+               bch2_trans_unlock(&trans);
 
                bytes = min_t(unsigned, bvec_iter.bi_size,
                              (k.k->p.offset - bvec_iter.bi_sector) << 9);
@@ -1889,7 +1889,7 @@ void bch2_read(struct bch_fs *c, struct bch_read_bio *rbio, u64 inode)
                 */
                bkey_reassemble(&tmp.k, k);
                k = bkey_i_to_s_c(&tmp.k);
-               bch2_btree_trans_unlock(&trans);
+               bch2_trans_unlock(&trans);
 
                bytes = min_t(unsigned, rbio->bio.bi_iter.bi_size,
                              (k.k->p.offset - rbio->bio.bi_iter.bi_sector) << 9);