summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_types.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2019-03-08 17:36:16 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2019-03-08 17:36:16 -0500
commit83a01d9f07046e70a3a1ae1f31174e980e7d589f (patch)
tree9db14f236669f6cc91c91cafabb8a4be922b9c5d /libbcachefs/btree_types.h
parent0aaa8494121f61f76c93505df6a481a488ab799a (diff)
Update bcachefs sources to c8aa081de3 bcachefs: increase BTREE_ITER_MAX
Diffstat (limited to 'libbcachefs/btree_types.h')
-rw-r--r--libbcachefs/btree_types.h19
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) \