Lines Matching full:paths

261 		bch2_btree_path_verify(trans, &trans->paths[iter->update_path]);  in bch2_btree_iter_verify()
652 i->old_v = bch2_btree_path_peek_slot(trans->paths + i->path, &i->old_k).v; in bch2_trans_revalidate_updates_in_node()
1045 if (trans->paths[idx].uptodate) { in bch2_btree_path_traverse_all()
1046 __btree_path_get(trans, &trans->paths[idx], false); in bch2_btree_path_traverse_all()
1048 __btree_path_put(trans, &trans->paths[idx], false); in bch2_btree_path_traverse_all()
1061 * We used to assert that all paths had been traversed here in bch2_btree_path_traverse_all()
1157 struct btree_path *path = &trans->paths[path_idx]; in bch2_btree_path_traverse_one()
1183 path = &trans->paths[path_idx]; in bch2_btree_path_traverse_one()
1263 btree_path_copy(trans, trans->paths + new, trans->paths + src); in btree_path_clone()
1264 __btree_path_get(trans, trans->paths + new, intent); in btree_path_clone()
1266 trans->paths[new].ip_allocated = ip; in btree_path_clone()
1275 struct btree_path *old = trans->paths + path; in __bch2_btree_path_make_mut()
1276 __btree_path_put(trans, trans->paths + path, intent); in __bch2_btree_path_make_mut()
1278 trace_btree_path_clone(trans, old, trans->paths + path); in __bch2_btree_path_make_mut()
1279 trans->paths[path].preserve = false; in __bch2_btree_path_make_mut()
1288 int cmp = bpos_cmp(new_pos, trans->paths[path_idx].pos); in __bch2_btree_path_set_pos()
1291 EBUG_ON(!trans->paths[path_idx].ref); in __bch2_btree_path_set_pos()
1293 trace_btree_path_set_pos(trans, trans->paths + path_idx, &new_pos); in __bch2_btree_path_set_pos()
1297 struct btree_path *path = trans->paths + path_idx; in __bch2_btree_path_set_pos()
1375 __bch2_btree_path_unlock(trans, trans->paths + path); in __bch2_path_free()
1376 btree_path_list_remove(trans, trans->paths + path); in __bch2_path_free()
1402 struct btree_path *path = trans->paths + path_idx, *dup; in bch2_path_put()
1437 if (!__btree_path_put(trans, trans->paths + path, intent)) in bch2_path_put_nokeep()
1522 struct btree_path *path = trans->paths + path_idx; in bch2_btree_path_to_text_short()
1566 struct btree_path *path = trans->paths + path_idx; in bch2_btree_path_to_text()
1686 struct btree_path *paths = p; in btree_paths_realloc() local
1687 *trans_paths_nr(paths) = nr; in btree_paths_realloc()
1688 memcpy(paths, trans->paths, trans->nr_paths * sizeof(struct btree_path)); in btree_paths_realloc()
1701 rcu_assign_pointer(trans->paths, paths); in btree_paths_realloc()
1734 struct btree_path *path = &trans->paths[idx]; in btree_path_alloc()
1772 trans->paths[path_pos].cached == cached && in bch2_path_get()
1773 trans->paths[path_pos].btree_id == btree_id && in bch2_path_get()
1774 trans->paths[path_pos].level == level) { in bch2_path_get()
1775 trace_btree_path_get(trans, trans->paths + path_pos, &pos); in bch2_path_get()
1777 __btree_path_get(trans, trans->paths + path_pos, intent); in bch2_path_get()
1779 path = trans->paths + path_idx; in bch2_path_get()
1782 path = trans->paths + path_idx; in bch2_path_get()
1834 struct btree_path *path = trans->paths + path_idx; in bch2_path_get_unlocked_mut()
1931 EBUG_ON(trans->paths[iter->path].cached); in bch2_btree_iter_peek_node()
1980 EBUG_ON(trans->paths[iter->path].cached); in bch2_btree_iter_next_node()
2242 k = bch2_btree_path_peek_slot(trans->paths + iter->key_cache_path, &u); in btree_trans_peek_key_cache()
2252 btree_path_set_should_be_locked(trans, trans->paths + iter->key_cache_path); in btree_trans_peek_key_cache()
2396 !bkey_eq(trans->paths[iter->update_path].pos, k.k->p)) { in bch2_btree_iter_peek_max()
2418 __btree_path_get(trans, trans->paths + iter->path, iter->flags & BTREE_ITER_intent); in bch2_btree_iter_peek_max()
2477 ret = bch2_btree_path_relock(trans, trans->paths + iter->update_path, _THIS_IP_); in bch2_btree_iter_peek_max()
2481 btree_path_set_should_be_locked(trans, trans->paths + iter->update_path); in bch2_btree_iter_peek_max()
2645 struct btree_path *s = saved_path ? trans->paths + saved_path : NULL; in bch2_btree_iter_peek_prev_min()
2692 trans->paths + iter->path, in bch2_btree_iter_peek_prev_min()
2693 trans->paths + saved_path); in bch2_btree_iter_peek_prev_min()
2817 k = bch2_btree_path_peek_slot(trans->paths + iter->path, &iter->k); in bch2_btree_iter_peek_slot()
2938 BUG_ON(trans->paths[idx].sorted_idx != i); in btree_trans_verify_sorted_refs()
2953 panic("trans paths out of order!\n"); in btree_trans_verify_sorted()
2983 if (btree_path_cmp(trans->paths + trans->sorted[i], in __bch2_btree_trans_sort_paths()
2984 trans->paths + trans->sorted[i + 1]) > 0) { in __bch2_btree_trans_sort_paths()
2986 trans->paths[trans->sorted[i]].sorted_idx = i; in __bch2_btree_trans_sort_paths()
2987 trans->paths[trans->sorted[i + 1]].sorted_idx = i + 1; in __bch2_btree_trans_sort_paths()
3018 trans->paths[trans->sorted[i]].sorted_idx = i; in btree_path_list_remove()
3025 struct btree_path *path = trans->paths + path_idx; in btree_path_list_add()
3027 path->sorted_idx = pos ? trans->paths[pos].sorted_idx + 1 : trans->nr_sorted; in btree_path_list_add()
3041 trans->paths[trans->sorted[i]].sorted_idx = i; in btree_path_list_add()
3109 __btree_path_get(trans, trans->paths + src->path, src->flags & BTREE_ITER_intent); in bch2_trans_copy_iter()
3111 __btree_path_get(trans, trans->paths + src->update_path, src->flags & BTREE_ITER_intent); in bch2_trans_copy_iter()
3381 trans->paths = trans->_paths; in __bch2_trans_get()
3384 *trans_paths_nr(trans->paths) = BTREE_ITER_INITIAL; in __bch2_trans_get()
3429 bch_err(c, "btree paths leaked from %s!", trans->fn); in check_btree_paths_leaked()
3451 __btree_path_put(trans, trans->paths + i->path, true); in bch2_trans_put()
3477 trans->paths = NULL; in bch2_trans_put()
3554 /* trans->paths is rcu protected vs. freeing */ in bch2_btree_trans_to_text()
3558 struct btree_path *paths = rcu_dereference(trans->paths); in bch2_btree_trans_to_text() local
3559 if (!paths) in bch2_btree_trans_to_text()
3562 unsigned long *paths_allocated = trans_paths_allocated(paths); in bch2_btree_trans_to_text()
3564 trans_for_each_path_idx_from(paths_allocated, *trans_paths_nr(paths), idx, 1) { in bch2_btree_trans_to_text()
3565 struct btree_path *path = paths + idx; in bch2_btree_trans_to_text()