Lines Matching refs:preftrees
121 struct preftrees { struct
389 struct preftrees *preftrees, int level, u64 parent, in add_direct_ref() argument
393 return add_prelim_ref(fs_info, &preftrees->direct, 0, NULL, level, in add_direct_ref()
399 struct preftrees *preftrees, u64 root_id, in add_indirect_ref() argument
404 struct preftree *tree = &preftrees->indirect; in add_indirect_ref()
407 tree = &preftrees->indirect_missing_keys; in add_indirect_ref()
611 struct preftrees *preftrees, in resolve_indirect_refs() argument
632 while ((rnode = rb_first_cached(&preftrees->indirect.root))) { in resolve_indirect_refs()
642 rb_erase_cached(&ref->rbnode, &preftrees->indirect.root); in resolve_indirect_refs()
643 preftrees->indirect.count--; in resolve_indirect_refs()
664 prelim_ref_insert(fs_info, &preftrees->direct, ref, in resolve_indirect_refs()
693 prelim_ref_insert(fs_info, &preftrees->direct, in resolve_indirect_refs()
701 prelim_ref_insert(fs_info, &preftrees->direct, ref, NULL); in resolve_indirect_refs()
715 struct preftrees *preftrees, bool lock) in add_missing_keys() argument
719 struct preftree *tree = &preftrees->indirect_missing_keys; in add_missing_keys()
749 prelim_ref_insert(fs_info, &preftrees->indirect, ref, NULL); in add_missing_keys()
761 struct preftrees *preftrees, u64 *total_refs, in add_delayed_refs() argument
803 ret = add_indirect_ref(fs_info, preftrees, ref->root, in add_delayed_refs()
815 ret = add_direct_ref(fs_info, preftrees, ref->level + 1, in add_delayed_refs()
838 ret = add_indirect_ref(fs_info, preftrees, ref->root, in add_delayed_refs()
849 ret = add_direct_ref(fs_info, preftrees, 0, ref->parent, in add_delayed_refs()
878 int *info_level, struct preftrees *preftrees, in add_inline_refs() argument
938 ret = add_direct_ref(fs_info, preftrees, in add_inline_refs()
949 ret = add_direct_ref(fs_info, preftrees, 0, offset, in add_inline_refs()
954 ret = add_indirect_ref(fs_info, preftrees, offset, in add_inline_refs()
977 ret = add_indirect_ref(fs_info, preftrees, root, in add_inline_refs()
1000 int info_level, struct preftrees *preftrees, in add_keyed_refs() argument
1032 ret = add_direct_ref(fs_info, preftrees, in add_keyed_refs()
1044 ret = add_direct_ref(fs_info, preftrees, 0, in add_keyed_refs()
1051 ret = add_indirect_ref(fs_info, preftrees, key.offset, in add_keyed_refs()
1075 ret = add_indirect_ref(fs_info, preftrees, root, in add_keyed_refs()
1130 struct preftrees preftrees = { local
1198 &preftrees, &total_refs, sc);
1219 &info_level, &preftrees,
1224 &preftrees, sc);
1232 ret = add_missing_keys(fs_info, &preftrees, path->skip_locking == 0);
1236 WARN_ON(!RB_EMPTY_ROOT(&preftrees.indirect_missing_keys.root.rb_root));
1238 ret = resolve_indirect_refs(fs_info, path, time_seq, &preftrees,
1243 WARN_ON(!RB_EMPTY_ROOT(&preftrees.indirect.root.rb_root));
1252 node = rb_first_cached(&preftrees.direct.root);
1330 prelim_release(&preftrees.direct);
1331 prelim_release(&preftrees.indirect);
1332 prelim_release(&preftrees.indirect_missing_keys);