diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-07-01 13:19:04 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-07-02 14:45:52 -0400 |
commit | 27e51d62ea4d030a74357ce436886f4187f9380c (patch) | |
tree | e22ea35e64961f8888eae8d7a0cfe27fdc966c62 /libbcachefs/btree_trans_commit.c | |
parent | 4145de1746459e118783b51e45f9a1fe9b6d2005 (diff) |
Update bcachefs sources to 48d506769bc0 bcachefs: bch2_journal_entry_missing_range()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/btree_trans_commit.c')
-rw-r--r-- | libbcachefs/btree_trans_commit.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libbcachefs/btree_trans_commit.c b/libbcachefs/btree_trans_commit.c index 639ef75b..7fcf248a 100644 --- a/libbcachefs/btree_trans_commit.c +++ b/libbcachefs/btree_trans_commit.c @@ -46,6 +46,9 @@ void bch2_trans_commit_flags_to_text(struct printbuf *out, enum bch_trans_commit static void verify_update_old_key(struct btree_trans *trans, struct btree_insert_entry *i) { #ifdef CONFIG_BCACHEFS_DEBUG + if (i->key_cache_flushing) + return; + struct bch_fs *c = trans->c; struct bkey u; struct bkey_s_c k = bch2_btree_path_peek_slot_exact(trans->paths + i->path, &u); @@ -337,6 +340,9 @@ static inline void btree_insert_entry_checks(struct btree_trans *trans, BUG_ON(!bpos_eq(i->k->k.p, path->pos)); BUG_ON(i->cached != path->cached); + BUG_ON(i->cached && + !i->key_cache_already_flushed && + bkey_deleted(&i->k->k));; BUG_ON(i->level != path->level); BUG_ON(i->btree_id != path->btree_id); BUG_ON(i->bkey_type != __btree_node_type(path->level, path->btree_id)); @@ -1015,9 +1021,7 @@ int __bch2_trans_commit(struct btree_trans *trans, unsigned flags) if (unlikely(ret)) goto out_reset; - if (!trans->nr_updates && - !trans->journal_entries.u64s && - !trans->accounting.u64s) + if (!bch2_trans_has_updates(trans)) goto out_reset; ret = bch2_trans_commit_run_triggers(trans); |