Lines Matching defs:preftrees

150 struct preftrees {
419 struct preftrees *preftrees, int level, u64 parent,
423 return add_prelim_ref(fs_info, &preftrees->direct, 0, NULL, level,
429 struct preftrees *preftrees, u64 root_id,
434 struct preftree *tree = &preftrees->indirect;
437 tree = &preftrees->indirect_missing_keys;
442 static int is_shared_data_backref(struct preftrees *preftrees, u64 bytenr)
444 struct rb_node **p = &preftrees->direct.root.rb_root.rb_node;
470 struct preftrees *preftrees, struct prelim_ref *ref,
506 is_shared_data_backref(preftrees, eb->start) ||
530 (is_shared_data_backref(preftrees, eb->start) ||
592 struct preftrees *preftrees,
685 ret = add_all_parents(ctx, root, path, parents, preftrees, ref, level);
732 struct preftrees *preftrees,
751 while ((rnode = rb_first_cached(&preftrees->indirect.root))) {
762 rb_erase_cached(&ref->rbnode, &preftrees->indirect.root);
763 preftrees->indirect.count--;
775 ret2 = resolve_indirect_ref(ctx, path, preftrees, ref, parents);
781 prelim_ref_insert(ctx->fs_info, &preftrees->direct, ref,
810 prelim_ref_insert(ctx->fs_info, &preftrees->direct,
818 prelim_ref_insert(ctx->fs_info, &preftrees->direct, ref, NULL);
836 struct preftrees *preftrees, bool lock)
840 struct preftree *tree = &preftrees->indirect_missing_keys;
876 prelim_ref_insert(fs_info, &preftrees->indirect, ref, NULL);
888 struct preftrees *preftrees, struct share_check *sc)
929 ret = add_indirect_ref(fs_info, preftrees, node->ref_root,
942 ret = add_direct_ref(fs_info, preftrees, level + 1,
971 ret = add_indirect_ref(fs_info, preftrees, node->ref_root,
978 ret = add_direct_ref(fs_info, preftrees, 0, node->parent,
1007 int *info_level, struct preftrees *preftrees,
1071 ret = add_direct_ref(ctx->fs_info, preftrees,
1082 ret = add_direct_ref(ctx->fs_info, preftrees, 0, offset,
1087 ret = add_indirect_ref(ctx->fs_info, preftrees, offset,
1114 ret = add_indirect_ref(ctx->fs_info, preftrees,
1141 int info_level, struct preftrees *preftrees,
1173 ret = add_direct_ref(fs_info, preftrees,
1185 ret = add_direct_ref(fs_info, preftrees, 0,
1192 ret = add_indirect_ref(fs_info, preftrees, key.offset,
1221 ret = add_indirect_ref(fs_info, preftrees, root,
1390 struct preftrees preftrees = {
1463 &preftrees, sc);
1484 &preftrees, sc);
1488 &preftrees, sc);
1563 ret = add_missing_keys(ctx->fs_info, &preftrees, !path->skip_locking);
1567 WARN_ON(!RB_EMPTY_ROOT(&preftrees.indirect_missing_keys.root.rb_root));
1569 ret = resolve_indirect_refs(ctx, path, &preftrees, sc);
1573 WARN_ON(!RB_EMPTY_ROOT(&preftrees.indirect.root.rb_root));
1582 node = rb_first_cached(&preftrees.direct.root);
1678 prelim_release(&preftrees.direct);
1679 prelim_release(&preftrees.indirect);
1680 prelim_release(&preftrees.indirect_missing_keys);