diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-09-09 19:06:29 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2021-09-09 19:10:07 -0400 |
commit | 2b8c1bb0910534e8687ea3e5abf6d8bbba758247 (patch) | |
tree | 4e63e051d884896b1fb49d50a9f0c71fb143b7c8 /libbcachefs/btree_update.h | |
parent | 6c42566c6204bb5dcd6af3b97257e548b9d2db67 (diff) |
Update bcachefs sources to 3f3f969859 bcachefs: Fix some compiler warnings
Diffstat (limited to 'libbcachefs/btree_update.h')
-rw-r--r-- | libbcachefs/btree_update.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/libbcachefs/btree_update.h b/libbcachefs/btree_update.h index 217b52e..23b73d3 100644 --- a/libbcachefs/btree_update.h +++ b/libbcachefs/btree_update.h @@ -8,10 +8,11 @@ struct bch_fs; struct btree; -void bch2_btree_node_lock_for_insert(struct btree_trans *, struct btree_iter *, +void bch2_btree_node_lock_for_insert(struct btree_trans *, struct btree_path *, struct btree *); -bool bch2_btree_bset_insert_key(struct btree_iter *, struct btree *, - struct btree_node_iter *, struct bkey_i *); +bool bch2_btree_bset_insert_key(struct btree_trans *, struct btree_path *, + struct btree *, struct btree_node_iter *, + struct bkey_i *); void bch2_btree_add_journal_pin(struct bch_fs *, struct btree *, u64); enum btree_insert_flags { @@ -134,4 +135,21 @@ static inline int bch2_trans_commit(struct btree_trans *trans, (_i) < (_trans)->updates + (_trans)->nr_updates; \ (_i)++) +static inline struct bkey_i *btree_trans_peek_updates(struct btree_trans *trans, + enum btree_id btree_id, + struct bpos pos) +{ + struct btree_insert_entry *i; + + trans_for_each_update(trans, i) + if ((cmp_int(btree_id, i->btree_id) ?: + bpos_cmp(pos, i->k->k.p)) <= 0) { + if (btree_id == i->btree_id) + return i->k; + break; + } + + return NULL; +} + #endif /* _BCACHEFS_BTREE_UPDATE_H */ |