Lines Matching refs:preftrees

122 struct preftrees {  struct
370 struct preftrees *preftrees, int level, u64 parent, in add_direct_ref() argument
374 return add_prelim_ref(fs_info, &preftrees->direct, 0, NULL, level, in add_direct_ref()
380 struct preftrees *preftrees, u64 root_id, in add_indirect_ref() argument
385 struct preftree *tree = &preftrees->indirect; in add_indirect_ref()
388 tree = &preftrees->indirect_missing_keys; in add_indirect_ref()
393 static int is_shared_data_backref(struct preftrees *preftrees, u64 bytenr) in is_shared_data_backref() argument
395 struct rb_node **p = &preftrees->direct.root.rb_root.rb_node; in is_shared_data_backref()
420 struct preftrees *preftrees, struct prelim_ref *ref, in add_all_parents() argument
456 is_shared_data_backref(preftrees, eb->start) || in add_all_parents()
480 (is_shared_data_backref(preftrees, eb->start) || in add_all_parents()
539 struct preftrees *preftrees, in resolve_indirect_ref() argument
634 ret = add_all_parents(root, path, parents, preftrees, ref, level, in resolve_indirect_ref()
682 struct preftrees *preftrees, in resolve_indirect_refs() argument
703 while ((rnode = rb_first_cached(&preftrees->indirect.root))) { in resolve_indirect_refs()
713 rb_erase_cached(&ref->rbnode, &preftrees->indirect.root); in resolve_indirect_refs()
714 preftrees->indirect.count--; in resolve_indirect_refs()
727 err = resolve_indirect_ref(fs_info, path, time_seq, preftrees, in resolve_indirect_refs()
735 prelim_ref_insert(fs_info, &preftrees->direct, ref, in resolve_indirect_refs()
764 prelim_ref_insert(fs_info, &preftrees->direct, in resolve_indirect_refs()
772 prelim_ref_insert(fs_info, &preftrees->direct, ref, NULL); in resolve_indirect_refs()
790 struct preftrees *preftrees, bool lock) in add_missing_keys() argument
794 struct preftree *tree = &preftrees->indirect_missing_keys; in add_missing_keys()
824 prelim_ref_insert(fs_info, &preftrees->indirect, ref, NULL); in add_missing_keys()
836 struct preftrees *preftrees, struct share_check *sc) in add_delayed_refs() argument
877 ret = add_indirect_ref(fs_info, preftrees, ref->root, in add_delayed_refs()
889 ret = add_direct_ref(fs_info, preftrees, ref->level + 1, in add_delayed_refs()
921 ret = add_indirect_ref(fs_info, preftrees, ref->root, in add_delayed_refs()
932 ret = add_direct_ref(fs_info, preftrees, 0, ref->parent, in add_delayed_refs()
961 int *info_level, struct preftrees *preftrees, in add_inline_refs() argument
1020 ret = add_direct_ref(fs_info, preftrees, in add_inline_refs()
1031 ret = add_direct_ref(fs_info, preftrees, 0, offset, in add_inline_refs()
1036 ret = add_indirect_ref(fs_info, preftrees, offset, in add_inline_refs()
1060 ret = add_indirect_ref(fs_info, preftrees, root, in add_inline_refs()
1084 int info_level, struct preftrees *preftrees, in add_keyed_refs() argument
1116 ret = add_direct_ref(fs_info, preftrees, in add_keyed_refs()
1128 ret = add_direct_ref(fs_info, preftrees, 0, in add_keyed_refs()
1135 ret = add_indirect_ref(fs_info, preftrees, key.offset, in add_keyed_refs()
1160 ret = add_indirect_ref(fs_info, preftrees, root, in add_keyed_refs()
1213 struct preftrees preftrees = { local
1286 &preftrees, sc);
1307 &info_level, &preftrees, sc);
1311 &preftrees, sc);
1319 ret = add_missing_keys(fs_info, &preftrees, path->skip_locking == 0);
1323 WARN_ON(!RB_EMPTY_ROOT(&preftrees.indirect_missing_keys.root.rb_root));
1325 ret = resolve_indirect_refs(fs_info, path, time_seq, &preftrees,
1330 WARN_ON(!RB_EMPTY_ROOT(&preftrees.indirect.root.rb_root));
1339 node = rb_first_cached(&preftrees.direct.root);
1439 prelim_release(&preftrees.direct);
1440 prelim_release(&preftrees.indirect);
1441 prelim_release(&preftrees.indirect_missing_keys);