bcachefs: bch2_trans_exit() no longer returns errors
authorKent Overstreet <kent.overstreet@gmail.com>
Tue, 19 Oct 2021 19:08:00 +0000 (15:08 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:14 +0000 (17:09 -0400)
Now that peek_node()/next_node() are converted to return errors
directly, we don't need bch2_trans_exit() to return errors - it's
cleaner this way and wasn't used much anymore.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
15 files changed:
fs/bcachefs/btree_iter.c
fs/bcachefs/btree_iter.h
fs/bcachefs/btree_types.h
fs/bcachefs/btree_update.h
fs/bcachefs/dirent.c
fs/bcachefs/ec.c
fs/bcachefs/fs-io.c
fs/bcachefs/fs.c
fs/bcachefs/fsck.c
fs/bcachefs/migrate.c
fs/bcachefs/move.c
fs/bcachefs/quota.c
fs/bcachefs/reflink.c
fs/bcachefs/sysfs.c
fs/bcachefs/xattr.c

index 339b3657683a5d598c168f8672800a861499d3c6..25ed4f2ce19c31d60b86538203a386e162d056b2 100644 (file)
@@ -1346,10 +1346,8 @@ retry_all:
                } while (ret);
        }
 
-       if (unlikely(ret == -EIO)) {
-               trans->error = true;
+       if (unlikely(ret == -EIO))
                goto out;
-       }
 
        BUG_ON(ret && ret != -EINTR);
 
@@ -2781,7 +2779,7 @@ leaked:
 #endif
 }
 
-int bch2_trans_exit(struct btree_trans *trans)
+void bch2_trans_exit(struct btree_trans *trans)
        __releases(&c->btree_trans_barrier)
 {
        struct btree_insert_entry *i;
@@ -2831,8 +2829,6 @@ int bch2_trans_exit(struct btree_trans *trans)
 
        trans->mem      = (void *) 0x1;
        trans->paths    = (void *) 0x1;
-
-       return trans->error ? -EIO : 0;
 }
 
 static void __maybe_unused
index 1cb4261bd66e6379a6b90cd1d95ecd904a110e12..4cd05fd06e6404a220aac55b3345b43c25402307 100644 (file)
@@ -351,7 +351,7 @@ static inline void set_btree_iter_dontneed(struct btree_iter *iter)
 void *bch2_trans_kmalloc(struct btree_trans *, size_t);
 void bch2_trans_begin(struct btree_trans *);
 void bch2_trans_init(struct btree_trans *, struct bch_fs *, unsigned, size_t);
-int bch2_trans_exit(struct btree_trans *);
+void bch2_trans_exit(struct btree_trans *);
 
 void bch2_btree_trans_to_text(struct printbuf *, struct bch_fs *);
 
index 081b82d3848e840d17205673dee627561e0d6e71..14acbdf34f7b5d6edfd56018c160a3d833eed024 100644 (file)
@@ -377,7 +377,6 @@ struct btree_trans {
        u8                      nr_sorted;
        u8                      nr_updates;
        bool                    used_mempool:1;
-       bool                    error:1;
        bool                    in_traverse_all:1;
        bool                    restarted:1;
        bool                    paths_sorted:1;
index 6f19b67c398f4cbd9b0dfd666e3fac0c8e65e95d..2ffee9029f344922eb07ee0d4ca7dc6886015ea7 100644 (file)
@@ -120,14 +120,14 @@ static inline int bch2_trans_commit(struct btree_trans *trans,
 #define bch2_trans_do(_c, _disk_res, _journal_seq, _flags, _do)                \
 ({                                                                     \
        struct btree_trans trans;                                       \
-       int _ret, _ret2;                                                \
+       int _ret;                                                       \
                                                                        \
        bch2_trans_init(&trans, (_c), 0, 0);                            \
        _ret = __bch2_trans_do(&trans, _disk_res, _journal_seq, _flags, \
                               _do);                                    \
-       _ret2 = bch2_trans_exit(&trans);                                \
+       bch2_trans_exit(&trans);                                        \
                                                                        \
-       _ret ?: _ret2;                                                  \
+       _ret;                                                           \
 })
 
 #define trans_for_each_update(_trans, _i)                              \
index cd5468b15ba26956a2072c0257e57f5a03093099..26df20ad090cd91956803e03ebcf163c3196b977 100644 (file)
@@ -491,7 +491,7 @@ err:
        if (ret == -EINTR)
                goto retry;
 
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
 
        return ret;
 }
index 2c538f9b54f8b1434ac39a20d66797965d8afa52..7dfa052e9765d67635e95519f681df227bfc6216 100644 (file)
@@ -1670,11 +1670,12 @@ int bch2_ec_mem_alloc(struct bch_fs *c, bool gc)
        bch2_trans_iter_init(&trans, &iter, BTREE_ID_stripes, POS(0, U64_MAX), 0);
 
        k = bch2_btree_iter_prev(&iter);
-       if (!IS_ERR_OR_NULL(k.k))
+       ret = bkey_err(k);
+       if (!ret && k.k)
                idx = k.k->p.offset + 1;
 
        bch2_trans_iter_exit(&trans, &iter);
-       ret = bch2_trans_exit(&trans);
+       bch2_trans_exit(&trans);
        if (ret)
                return ret;
 
index 736dd71419a5fe21d35c72710eabe3f52e8b7821..079c20cbf10e4282420cf30672b7919907d76b2d 100644 (file)
@@ -2223,7 +2223,8 @@ err:
        if (ret == -EINTR)
                goto retry;
 
-       return bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
+       return ret;
 }
 
 static int __bch2_truncate_page(struct bch_inode_info *inode,
@@ -3125,7 +3126,7 @@ err:
        if (ret == -EINTR)
                goto retry;
 
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
        if (ret)
                return ret;
 
@@ -3240,7 +3241,7 @@ err:
        if (ret == -EINTR)
                goto retry;
 
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
        if (ret)
                return ret;
 
index 7475830bb33f30296f531e5ffe7bb24cee725e28..334cd335ff1129c524a593f7c34fdd41017ea1c0 100644 (file)
@@ -1016,7 +1016,7 @@ err:
                ret = bch2_fill_extent(c, info, bkey_i_to_s_c(prev.k),
                                       FIEMAP_EXTENT_LAST);
 
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
        bch2_bkey_buf_exit(&cur, c);
        bch2_bkey_buf_exit(&prev, c);
        return ret < 0 ? ret : 0;
index 826a3577ee9318c115b1a7751eddf6b1e528af04..a36bc840a62c56e2828b2b3152647f299a9d8b60 100644 (file)
@@ -981,7 +981,8 @@ static int check_inodes(struct bch_fs *c, bool full)
 
        BUG_ON(ret == -EINTR);
 
-       return bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
+       return ret;
 }
 
 noinline_for_stack
@@ -1659,7 +1660,8 @@ fsck_err:
                goto retry;
 
        bch2_trans_iter_exit(&trans, &iter);
-       return bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
+       return ret;
 }
 
 /* Get root directory, create if it doesn't exist: */
@@ -1876,7 +1878,8 @@ static int check_directory_structure(struct bch_fs *c)
 
        kfree(path.entries);
 
-       return bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
+       return ret;
 }
 
 struct nlink_table {
index 111a41159eb2cde39604df9bfd8835ae3f9ada70..00ba6e1c92ee0363375a1639526b996d8a94b4d4 100644 (file)
@@ -100,7 +100,7 @@ static int __bch2_dev_usrdata_drop(struct bch_fs *c, unsigned dev_idx, int flags
        }
        bch2_trans_iter_exit(&trans, &iter);
 
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
        bch2_bkey_buf_exit(&sk, c);
 
        BUG_ON(ret == -EINTR);
@@ -180,7 +180,7 @@ next:
 
        ret = 0;
 err:
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
        bch2_bkey_buf_exit(&k, c);
 
        BUG_ON(ret == -EINTR);
index 2f608631cc4395700f6a7a2d410fa2231a0f6cdf..af02f2cf6ee0f8a9ed17bdff80b1d228526c5f26 100644 (file)
@@ -773,7 +773,7 @@ next_nondata:
 out:
 
        bch2_trans_iter_exit(&trans, &iter);
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
        bch2_bkey_buf_exit(&sk, c);
 
        return ret;
index 9b0f4d3f176d5fcbd7c0e0e189679c40416abefd..17fd5bf107bbdddfda284ce1b7a13d2d3526bbec 100644 (file)
@@ -374,7 +374,8 @@ static int bch2_quota_init_type(struct bch_fs *c, enum quota_types type)
        }
        bch2_trans_iter_exit(&trans, &iter);
 
-       return bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
+       return ret;
 }
 
 void bch2_fs_quota_exit(struct bch_fs *c)
@@ -452,7 +453,8 @@ int bch2_fs_quota_read(struct bch_fs *c)
        }
        bch2_trans_iter_exit(&trans, &iter);
 
-       return bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
+       return ret;
 }
 
 /* Enable/disable/delete quotas for an entire filesystem: */
index c63c95fc49b1aefb689fd76e8bf783f88ca72b8b..9bcf4216a286bd63abe96d0f6d6f08b22ab43aa3 100644 (file)
@@ -349,7 +349,7 @@ s64 bch2_remap_range(struct bch_fs *c,
                bch2_trans_iter_exit(&trans, &inode_iter);
        } while (ret2 == -EINTR);
 
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
        bch2_bkey_buf_exit(&new_src, c);
        bch2_bkey_buf_exit(&new_dst, c);
 
index 92e58f5c6bbfabb078cefd292b214cff5883d0e8..51eb19b84a282b2fe4a25e3dc4d0f4c928a979f1 100644 (file)
@@ -327,7 +327,7 @@ static int bch2_compression_stats_to_text(struct printbuf *out, struct bch_fs *c
                }
        bch2_trans_iter_exit(&trans, &iter);
 
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
        if (ret)
                return ret;
 
index ff81a25698ff0290c431aba50557e5d1e3dd6f67..dcd2f6a91a7269bc326acb3738dd09a2ccf389ce 100644 (file)
@@ -316,7 +316,7 @@ err:
        if (ret == -EINTR)
                goto retry;
 
-       ret = bch2_trans_exit(&trans) ?: ret;
+       bch2_trans_exit(&trans);
 
        if (ret)
                return ret;