Commit 94d290e4 authored by Kent Overstreet's avatar Kent Overstreet Committed by Kent Overstreet

bcachefs: drop btree_insert->did_work

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 9a12b1b0
...@@ -30,7 +30,6 @@ struct btree_insert { ...@@ -30,7 +30,6 @@ struct btree_insert {
struct journal_preres journal_preres; struct journal_preres journal_preres;
u64 *journal_seq; u64 *journal_seq;
unsigned flags; unsigned flags;
bool did_work;
unsigned short nr; unsigned short nr;
struct btree_insert_entry *entries; struct btree_insert_entry *entries;
......
...@@ -585,7 +585,6 @@ static inline int do_btree_insert_at(struct btree_insert *trans, ...@@ -585,7 +585,6 @@ static inline int do_btree_insert_at(struct btree_insert *trans,
break; break;
} }
} }
trans->did_work = true;
trans_for_each_entry(trans, i) trans_for_each_entry(trans, i)
do_btree_insert_one(trans, i); do_btree_insert_one(trans, i);
...@@ -739,8 +738,7 @@ int __bch2_btree_insert_at(struct btree_insert *trans) ...@@ -739,8 +738,7 @@ int __bch2_btree_insert_at(struct btree_insert *trans)
* BTREE_INSERT_NOUNLOCK means don't unlock _after_ successful btree * BTREE_INSERT_NOUNLOCK means don't unlock _after_ successful btree
* update; if we haven't done anything yet it doesn't apply * update; if we haven't done anything yet it doesn't apply
*/ */
if (!trans->did_work) flags &= ~BTREE_INSERT_NOUNLOCK;
flags &= ~BTREE_INSERT_NOUNLOCK;
switch (ret) { switch (ret) {
case BTREE_INSERT_BTREE_NODE_FULL: case BTREE_INSERT_BTREE_NODE_FULL:
...@@ -756,8 +754,12 @@ int __bch2_btree_insert_at(struct btree_insert *trans) ...@@ -756,8 +754,12 @@ int __bch2_btree_insert_at(struct btree_insert *trans)
* XXX: * XXX:
* split -> btree node merging (of parent node) might still drop * split -> btree node merging (of parent node) might still drop
* locks when we're not passing it BTREE_INSERT_NOUNLOCK * locks when we're not passing it BTREE_INSERT_NOUNLOCK
*
* we don't want to pass BTREE_INSERT_NOUNLOCK to split as that
* will inhibit merging - but we don't have a reliable way yet
* (do we?) of checking if we dropped locks in this path
*/ */
if (!ret && !trans->did_work) if (!ret)
goto retry; goto retry;
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment