diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-03-08 17:36:16 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-03-08 17:36:16 -0500 |
commit | 83a01d9f07046e70a3a1ae1f31174e980e7d589f (patch) | |
tree | 9db14f236669f6cc91c91cafabb8a4be922b9c5d /libbcachefs/btree_types.h | |
parent | 0aaa8494121f61f76c93505df6a481a488ab799a (diff) |
Update bcachefs sources to c8aa081de3 bcachefs: increase BTREE_ITER_MAX
Diffstat (limited to 'libbcachefs/btree_types.h')
-rw-r--r-- | libbcachefs/btree_types.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/libbcachefs/btree_types.h b/libbcachefs/btree_types.h index 15a4d382..a6aea023 100644 --- a/libbcachefs/btree_types.h +++ b/libbcachefs/btree_types.h @@ -231,19 +231,18 @@ struct btree_iter { */ struct bkey k; + u64 id; + /* * Circular linked list of linked iterators: linked iterators share * locks (e.g. two linked iterators may have the same node intent * locked, or read and write locked, at the same time), and insertions * through one iterator won't invalidate the other linked iterators. */ - /* Must come last: */ struct btree_iter *next; }; -#define BTREE_ITER_MAX 8 - struct deferred_update { struct journal_preres res; struct journal_entry_pin journal; @@ -269,25 +268,29 @@ struct btree_insert_entry { bool deferred; }; +#define BTREE_ITER_MAX 64 + struct btree_trans { struct bch_fs *c; size_t nr_restarts; + u64 iters_live; + u64 iters_linked; + u8 nr_iters; - u8 iters_live; - u8 iters_linked; u8 nr_updates; + u8 size; + unsigned used_mempool:1; unsigned mem_top; unsigned mem_bytes; void *mem; struct btree_iter *iters; - u64 iter_ids[BTREE_ITER_MAX]; - - struct btree_insert_entry updates[BTREE_ITER_MAX]; + struct btree_insert_entry *updates; struct btree_iter iters_onstack[2]; + struct btree_insert_entry updates_onstack[6]; }; #define BTREE_FLAG(flag) \ |