diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-10-10 18:04:36 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-10-10 18:06:44 -0400 |
commit | 7f3557f57efb6e22aa90fdaca481907f633ceb08 (patch) | |
tree | 314b07c8751082da37dea73a5436cca688206865 /libbcachefs/btree_update_leaf.c | |
parent | 62f5e4fa67dde8255fa18a06d5354cdca02b6fc7 (diff) |
Update bcachefs sources to 7e03c1ab0e bcachefs: Kill bchfs_extent_update()
Diffstat (limited to 'libbcachefs/btree_update_leaf.c')
-rw-r--r-- | libbcachefs/btree_update_leaf.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libbcachefs/btree_update_leaf.c b/libbcachefs/btree_update_leaf.c index 536ac921..271f9114 100644 --- a/libbcachefs/btree_update_leaf.c +++ b/libbcachefs/btree_update_leaf.c @@ -451,6 +451,7 @@ static inline int do_btree_insert_at(struct btree_trans *trans, struct bch_fs *c = trans->c; struct bch_fs_usage *fs_usage = NULL; struct btree_insert_entry *i; + struct btree_iter *iter; unsigned mark_flags = trans->flags & BTREE_INSERT_BUCKET_INVALIDATE ? BCH_BUCKET_MARK_BUCKET_INVALIDATE : 0; @@ -473,6 +474,14 @@ static inline int do_btree_insert_at(struct btree_trans *trans, goto out_clear_replicas; } + trans_for_each_iter(trans, iter) { + if (iter->nodes_locked != iter->nodes_intent_locked) { + BUG_ON(iter->flags & BTREE_ITER_KEEP_UNTIL_COMMIT); + BUG_ON(trans->iters_live & (1ULL << iter->idx)); + __bch2_btree_iter_unlock(iter); + } + } + if (IS_ENABLED(CONFIG_BCACHEFS_DEBUG)) trans_for_each_update(trans, i) btree_insert_entry_checks(trans, i); |