diff options
author | Aleksei Kharlamov <der@2-47.ru> | 2022-02-26 18:05:28 +0100 |
---|---|---|
committer | Aleksei Kharlamov <der@2-47.ru> | 2022-02-26 21:31:11 +0100 |
commit | 63805882d4a60de63ed82d81ef4cfbb6e499753a (patch) | |
tree | 682f0c0b33175883f87c9c597a597a5a7644c358 /libbcachefs/buckets.h | |
parent | 5528e3ae62ead1cfd5be36c1712d1a2dd5ccb3af (diff) |
Update bcachefs sources to 31718a2: bcachefs: Don't spin in journal reclaim
Signed-off-by: Aleksei Kharlamov <aleksei@devass.club>
Diffstat (limited to 'libbcachefs/buckets.h')
-rw-r--r-- | libbcachefs/buckets.h | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/libbcachefs/buckets.h b/libbcachefs/buckets.h index 7c6c59c7..daf79a4f 100644 --- a/libbcachefs/buckets.h +++ b/libbcachefs/buckets.h @@ -231,11 +231,33 @@ void bch2_mark_metadata_bucket(struct bch_fs *, struct bch_dev *, int bch2_mark_key(struct btree_trans *, struct bkey_s_c, struct bkey_s_c, unsigned); -int bch2_mark_update(struct btree_trans *, struct btree_path *, - struct bkey_i *, unsigned); - int bch2_trans_mark_key(struct btree_trans *, struct bkey_s_c, - struct bkey_s_c, unsigned); + struct bkey_i *, unsigned); + +static inline int bch2_trans_mark_old(struct btree_trans *trans, + struct bkey_s_c old, unsigned flags) +{ + struct bkey_i deleted; + + bkey_init(&deleted.k); + deleted.k.p = old.k->p; + + return bch2_trans_mark_key(trans, old, &deleted, + BTREE_TRIGGER_OVERWRITE|flags); +} + +static inline int bch2_trans_mark_new(struct btree_trans *trans, + struct bkey_i *new, unsigned flags) +{ + struct bkey_i deleted; + + bkey_init(&deleted.k); + deleted.k.p = new->k.p; + + return bch2_trans_mark_key(trans, bkey_i_to_s_c(&deleted), new, + BTREE_TRIGGER_INSERT|flags); +} + int bch2_trans_fs_usage_apply(struct btree_trans *, struct replicas_delta_list *); int bch2_trans_mark_metadata_bucket(struct btree_trans *, struct bch_dev *, |