bcachefs: drop btree_insert->did_work

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Kent Overstreet 2019-03-11 16:25:42 -04:00 committed by Kent Overstreet
parent 9a12b1b097
commit 94d290e40c
2 changed files with 6 additions and 5 deletions

View File

@ -30,7 +30,6 @@ struct btree_insert {
struct journal_preres journal_preres;
u64 *journal_seq;
unsigned flags;
bool did_work;
unsigned short nr;
struct btree_insert_entry *entries;

View File

@ -585,7 +585,6 @@ got_journal_res:
break;
}
}
trans->did_work = true;
trans_for_each_entry(trans, i)
do_btree_insert_one(trans, i);
@ -739,8 +738,7 @@ err:
* BTREE_INSERT_NOUNLOCK means don't unlock _after_ successful btree
* 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) {
case BTREE_INSERT_BTREE_NODE_FULL:
@ -756,8 +754,12 @@ err:
* XXX:
* split -> btree node merging (of parent node) might still drop
* 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;
#endif