summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_update.h
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/btree_update.h')
-rw-r--r--libbcachefs/btree_update.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libbcachefs/btree_update.h b/libbcachefs/btree_update.h
index 76836362..dd9d2559 100644
--- a/libbcachefs/btree_update.h
+++ b/libbcachefs/btree_update.h
@@ -15,6 +15,11 @@ bool bch2_btree_bset_insert_key(struct btree_iter *, struct btree *,
void bch2_btree_journal_key(struct btree_insert *trans, struct btree_iter *,
struct bkey_i *);
+void bch2_deferred_update_free(struct bch_fs *,
+ struct deferred_update *);
+struct deferred_update *
+bch2_deferred_update_alloc(struct bch_fs *, enum btree_id, unsigned);
+
/* Normal update interface: */
struct btree_insert {
@@ -37,6 +42,13 @@ int __bch2_btree_insert_at(struct btree_insert *);
.k = (_k), \
})
+#define BTREE_INSERT_DEFERRED(_d, _k) \
+ ((struct btree_insert_entry) { \
+ .k = (_k), \
+ .d = (_d), \
+ .deferred = true, \
+ })
+
/**
* bch_btree_insert_at - insert one or more keys at iterator positions
* @iter: btree iterator