bcachefs: bch2_trans_reset_updates()
authorKent Overstreet <kent.overstreet@gmail.com>
Sun, 29 May 2022 15:38:48 +0000 (11:38 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:33 +0000 (17:09 -0400)
Factor out a new helper.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/btree_iter.c
fs/bcachefs/btree_update.h
fs/bcachefs/btree_update_leaf.c

index 3ce0571651b5ec880384fed4cb970d3ee64b3afc..0f1efc0248786954646f2e4675a7c01c4d3c42b2 100644 (file)
@@ -3186,20 +3186,12 @@ void *bch2_trans_kmalloc(struct btree_trans *trans, size_t size)
  */
 void bch2_trans_begin(struct btree_trans *trans)
 {
-       struct btree_insert_entry *i;
        struct btree_path *path;
 
-       trans_for_each_update(trans, i)
-               __btree_path_put(i->path, true);
+       bch2_trans_reset_updates(trans);
 
-       memset(&trans->journal_res, 0, sizeof(trans->journal_res));
-       trans->extra_journal_res        = 0;
-       trans->nr_updates               = 0;
        trans->mem_top                  = 0;
 
-       trans->hooks                    = NULL;
-       trans->extra_journal_entries.nr = 0;
-
        if (trans->fs_usage_deltas) {
                trans->fs_usage_deltas->used = 0;
                memset((void *) trans->fs_usage_deltas +
index a40f3460fd625b08e16f0ccf553d1c542d51268b..28f9585770068fd0ac5a1e701cf8c1cf6d037564 100644 (file)
@@ -140,4 +140,17 @@ static inline int bch2_trans_commit(struct btree_trans *trans,
             (_i) < (_trans)->updates + (_trans)->nr_updates;           \
             (_i)++)
 
+static inline void bch2_trans_reset_updates(struct btree_trans *trans)
+{
+       struct btree_insert_entry *i;
+
+       trans_for_each_update(trans, i)
+               bch2_path_put(trans, i->path, true);
+
+       trans->extra_journal_res        = 0;
+       trans->nr_updates               = 0;
+       trans->hooks                    = NULL;
+       trans->extra_journal_entries.nr = 0;
+}
+
 #endif /* _BCACHEFS_BTREE_UPDATE_H */
index d84769353f65369f9599a1ad3d7a9fec9fb615e8..1a84bdbfda0bb20a2e50fc0eece9de0281549293 100644 (file)
@@ -1177,13 +1177,7 @@ out:
        if (likely(!(trans->flags & BTREE_INSERT_NOCHECK_RW)))
                percpu_ref_put(&c->writes);
 out_reset:
-       trans_for_each_update(trans, i)
-               bch2_path_put(trans, i->path, true);
-
-       trans->extra_journal_res        = 0;
-       trans->nr_updates               = 0;
-       trans->hooks                    = NULL;
-       trans->extra_journal_entries.nr = 0;
+       bch2_trans_reset_updates(trans);
 
        if (trans->fs_usage_deltas) {
                trans->fs_usage_deltas->used = 0;