Lines Matching refs:preftrees

122 struct preftrees {
370 struct preftrees *preftrees, int level, u64 parent,
374 return add_prelim_ref(fs_info, &preftrees->direct, 0, NULL, level,
380 struct preftrees *preftrees, u64 root_id,
385 struct preftree *tree = &preftrees->indirect;
388 tree = &preftrees->indirect_missing_keys;
393 static int is_shared_data_backref(struct preftrees *preftrees, u64 bytenr)
395 struct rb_node **p = &preftrees->direct.root.rb_root.rb_node;
420 struct preftrees *preftrees, struct prelim_ref *ref,
457 is_shared_data_backref(preftrees, eb->start) ||
481 (is_shared_data_backref(preftrees, eb->start) ||
543 struct preftrees *preftrees,
638 ret = add_all_parents(root, path, parents, preftrees, ref, level,
686 struct preftrees *preftrees,
707 while ((rnode = rb_first_cached(&preftrees->indirect.root))) {
717 rb_erase_cached(&ref->rbnode, &preftrees->indirect.root);
718 preftrees->indirect.count--;
731 err = resolve_indirect_ref(fs_info, path, time_seq, preftrees,
739 prelim_ref_insert(fs_info, &preftrees->direct, ref,
768 prelim_ref_insert(fs_info, &preftrees->direct,
776 prelim_ref_insert(fs_info, &preftrees->direct, ref, NULL);
794 struct preftrees *preftrees, bool lock)
798 struct preftree *tree = &preftrees->indirect_missing_keys;
828 prelim_ref_insert(fs_info, &preftrees->indirect, ref, NULL);
840 struct preftrees *preftrees, struct share_check *sc)
881 ret = add_indirect_ref(fs_info, preftrees, ref->root,
893 ret = add_direct_ref(fs_info, preftrees, ref->level + 1,
925 ret = add_indirect_ref(fs_info, preftrees, ref->root,
936 ret = add_direct_ref(fs_info, preftrees, 0, ref->parent,
965 int *info_level, struct preftrees *preftrees,
1024 ret = add_direct_ref(fs_info, preftrees,
1035 ret = add_direct_ref(fs_info, preftrees, 0, offset,
1040 ret = add_indirect_ref(fs_info, preftrees, offset,
1064 ret = add_indirect_ref(fs_info, preftrees, root,
1088 int info_level, struct preftrees *preftrees,
1120 ret = add_direct_ref(fs_info, preftrees,
1132 ret = add_direct_ref(fs_info, preftrees, 0,
1139 ret = add_indirect_ref(fs_info, preftrees, key.offset,
1164 ret = add_indirect_ref(fs_info, preftrees, root,
1217 struct preftrees preftrees = {
1290 &preftrees, sc);
1311 &info_level, &preftrees, sc);
1315 &preftrees, sc);
1323 ret = add_missing_keys(fs_info, &preftrees, path->skip_locking == 0);
1327 WARN_ON(!RB_EMPTY_ROOT(&preftrees.indirect_missing_keys.root.rb_root));
1329 ret = resolve_indirect_refs(fs_info, path, time_seq, &preftrees,
1334 WARN_ON(!RB_EMPTY_ROOT(&preftrees.indirect.root.rb_root));
1343 node = rb_first_cached(&preftrees.direct.root);
1443 prelim_release(&preftrees.direct);
1444 prelim_release(&preftrees.indirect);
1445 prelim_release(&preftrees.indirect_missing_keys);