This patch is prep work for the following patch.
Signed-off-by: Daniel Hill <daniel@gluo.nz>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
                        ret = commit_do(&trans, NULL, NULL,
                                        BTREE_INSERT_NOFAIL|
                                        BTREE_INSERT_LAZY_RW,
-                               __bch2_btree_insert(&trans, BTREE_ID_bucket_gens, &g.k_i));
+                               __bch2_btree_insert(&trans, BTREE_ID_bucket_gens, &g.k_i, 0));
                        if (ret)
                                break;
                        have_bucket_gens_key = false;
                ret = commit_do(&trans, NULL, NULL,
                                BTREE_INSERT_NOFAIL|
                                BTREE_INSERT_LAZY_RW,
-                       __bch2_btree_insert(&trans, BTREE_ID_bucket_gens, &g.k_i));
+                       __bch2_btree_insert(&trans, BTREE_ID_bucket_gens, &g.k_i, 0));
 
        bch2_trans_exit(&trans);
 
                        freespace->k.p          = k.k->p;
                        freespace->k.size       = k.k->size;
 
-                       ret = __bch2_btree_insert(&trans, BTREE_ID_freespace, freespace) ?:
+                       ret = __bch2_btree_insert(&trans, BTREE_ID_freespace, freespace, 0) ?:
                                bch2_trans_commit(&trans, NULL, NULL,
                                                  BTREE_INSERT_LAZY_RW|
                                                  BTREE_INSERT_NOFAIL);
 
                                unsigned, unsigned);
 int bch2_btree_delete_at(struct btree_trans *, struct btree_iter *, unsigned);
 
-int __bch2_btree_insert(struct btree_trans *, enum btree_id, struct bkey_i *);
+int __bch2_btree_insert(struct btree_trans *, enum btree_id, struct bkey_i *,
+                       enum btree_update_flags);
 int bch2_btree_insert(struct bch_fs *, enum btree_id, struct bkey_i *,
                     struct disk_reservation *, u64 *, int flags);
 
 
 }
 
 int __bch2_btree_insert(struct btree_trans *trans,
-                       enum btree_id id, struct bkey_i *k)
+                       enum btree_id id,
+                       struct bkey_i *k, enum btree_update_flags flags)
 {
        struct btree_iter iter;
        int ret;
        bch2_trans_iter_init(trans, &iter, id, bkey_start_pos(&k->k),
                             BTREE_ITER_INTENT);
        ret   = bch2_btree_iter_traverse(&iter) ?:
-               bch2_trans_update(trans, &iter, k, 0);
+               bch2_trans_update(trans, &iter, k, flags);
        bch2_trans_iter_exit(trans, &iter);
        return ret;
 }
                      u64 *journal_seq, int flags)
 {
        return bch2_trans_do(c, disk_res, journal_seq, flags,
-                            __bch2_btree_insert(&trans, id, k));
+                            __bch2_btree_insert(&trans, id, k, 0));
 }
 
 int bch2_btree_delete_extent_at(struct btree_trans *trans, struct btree_iter *iter,
 
                                BTREE_INSERT_NOFAIL|
                                BTREE_INSERT_JOURNAL_RECLAIM|
                                JOURNAL_WATERMARK_reserved,
-                               __bch2_btree_insert(trans, i->btree, &i->k));
+                               __bch2_btree_insert(trans, i->btree, &i->k, 0));
                if (bch2_fs_fatal_err_on(ret, c, "%s: insert error %s", __func__, bch2_err_str(ret)))
                        break;
        }
 
                new->k.p                = bkey_start_pos(p.k);
                new->k.p.offset += *idx - start;
                bch2_key_resize(&new->k, next_idx - *idx);
-               ret = __bch2_btree_insert(trans, BTREE_ID_extents, &new->k_i);
+               ret = __bch2_btree_insert(trans, BTREE_ID_extents, &new->k_i,
+                                         0);
        }
 
        *idx = next_idx;
 
                ret = commit_do(trans, NULL, NULL,
                                      BTREE_INSERT_NOFAIL|
                                      BTREE_INSERT_LAZY_RW,
-                       __bch2_btree_insert(trans, BTREE_ID_subvolumes, &root_subvol.k_i));
+                       __bch2_btree_insert(trans, BTREE_ID_subvolumes,
+                                           &root_subvol.k_i, 0));
                if (ret) {
                        bch_err(c, "error writing root subvol: %s", bch2_err_str(ret));
                        goto err;
 
                k.k.p.snapshot = U32_MAX;
 
                ret = commit_do(&trans, NULL, NULL, 0,
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k.k_i));
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k.k_i, 0));
                if (ret) {
                        bch_err(c, "%s(): error %s", __func__, bch2_err_str(ret));
                        break;
                }
 
                ret = commit_do(&trans, NULL, NULL, 0,
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[0].k_i) ?:
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[1].k_i) ?:
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[2].k_i) ?:
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[3].k_i) ?:
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[4].k_i) ?:
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[5].k_i) ?:
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[6].k_i) ?:
-                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[7].k_i));
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[0].k_i, 0) ?:
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[1].k_i, 0) ?:
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[2].k_i, 0) ?:
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[3].k_i, 0) ?:
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[4].k_i, 0) ?:
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[5].k_i, 0) ?:
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[6].k_i, 0) ?:
+                       __bch2_btree_insert(&trans, BTREE_ID_xattrs, &k[7].k_i, 0));
                if (ret) {
                        bch_err(c, "%s(): error %s", __func__, bch2_err_str(ret));
                        break;