static int bch2_btree_path_traverse_all(struct btree_trans *trans)
{
struct bch_fs *c = trans->c;
- struct btree_path *path, *prev = NULL;
+ struct btree_path *path, *prev;
unsigned long trace_ip = _RET_IP_;
int i, ret = 0;
trans->in_traverse_all = true;
retry_all:
+ prev = NULL;
trans->restarted = false;
trans_for_each_path(trans, path)
int i;
BUG_ON(trans->restarted);
+ btree_trans_sort_paths(trans);
btree_trans_sort_paths(trans);
unsigned i;
trans_for_each_path_inorder(trans, path, i) {
- BUG_ON(prev && btree_path_cmp(prev, path) > 0);
+ if (prev && btree_path_cmp(prev, path) > 0) {
+ bch2_dump_trans_paths_updates(trans);
+ panic("trans paths out of order!\n");
+ }
prev = path;
}
}