Lines Matching refs:generic_ref
726 struct btrfs_ref *generic_ref, in init_delayed_ref_head() argument
734 BUG_ON(generic_ref->type != BTRFS_REF_DATA && reserved); in init_delayed_ref_head()
736 switch (generic_ref->action) { in init_delayed_ref_head()
768 head_ref->bytenr = generic_ref->bytenr; in init_delayed_ref_head()
769 head_ref->num_bytes = generic_ref->num_bytes; in init_delayed_ref_head()
773 head_ref->owning_root = generic_ref->owning_root; in init_delayed_ref_head()
774 head_ref->is_data = (generic_ref->type == BTRFS_REF_DATA); in init_delayed_ref_head()
775 head_ref->is_system = (generic_ref->ref_root == BTRFS_CHUNK_TREE_OBJECTID); in init_delayed_ref_head()
785 if (generic_ref->type == BTRFS_REF_METADATA) in init_delayed_ref_head()
786 head_ref->level = generic_ref->tree_ref.level; in init_delayed_ref_head()
791 if (generic_ref->ref_root && reserved) { in init_delayed_ref_head()
793 qrecord->data_rsv_refroot = generic_ref->ref_root; in init_delayed_ref_head()
795 qrecord->num_bytes = generic_ref->num_bytes; in init_delayed_ref_head()
936 struct btrfs_ref *generic_ref) in init_delayed_ref_common() argument
938 int action = generic_ref->action; in init_delayed_ref_common()
944 if (btrfs_is_fstree(generic_ref->ref_root)) in init_delayed_ref_common()
948 ref->bytenr = generic_ref->bytenr; in init_delayed_ref_common()
949 ref->num_bytes = generic_ref->num_bytes; in init_delayed_ref_common()
953 ref->type = btrfs_ref_type(generic_ref); in init_delayed_ref_common()
954 ref->ref_root = generic_ref->ref_root; in init_delayed_ref_common()
955 ref->parent = generic_ref->parent; in init_delayed_ref_common()
959 if (generic_ref->type == BTRFS_REF_DATA) in init_delayed_ref_common()
960 ref->data_ref = generic_ref->data_ref; in init_delayed_ref_common()
962 ref->tree_ref = generic_ref->tree_ref; in init_delayed_ref_common()
965 void btrfs_init_tree_ref(struct btrfs_ref *generic_ref, int level, u64 mod_root, in btrfs_init_tree_ref() argument
970 generic_ref->real_root = mod_root ?: generic_ref->ref_root; in btrfs_init_tree_ref()
972 generic_ref->tree_ref.level = level; in btrfs_init_tree_ref()
973 generic_ref->type = BTRFS_REF_METADATA; in btrfs_init_tree_ref()
974 if (skip_qgroup || !(btrfs_is_fstree(generic_ref->ref_root) && in btrfs_init_tree_ref()
976 generic_ref->skip_qgroup = true; in btrfs_init_tree_ref()
978 generic_ref->skip_qgroup = false; in btrfs_init_tree_ref()
982 void btrfs_init_data_ref(struct btrfs_ref *generic_ref, u64 ino, u64 offset, in btrfs_init_data_ref() argument
987 generic_ref->real_root = mod_root ?: generic_ref->ref_root; in btrfs_init_data_ref()
989 generic_ref->data_ref.objectid = ino; in btrfs_init_data_ref()
990 generic_ref->data_ref.offset = offset; in btrfs_init_data_ref()
991 generic_ref->type = BTRFS_REF_DATA; in btrfs_init_data_ref()
992 if (skip_qgroup || !(btrfs_is_fstree(generic_ref->ref_root) && in btrfs_init_data_ref()
994 generic_ref->skip_qgroup = true; in btrfs_init_data_ref()
996 generic_ref->skip_qgroup = false; in btrfs_init_data_ref()
1000 struct btrfs_ref *generic_ref, in add_delayed_ref() argument
1010 const unsigned long index = (generic_ref->bytenr >> fs_info->sectorsize_bits); in add_delayed_ref()
1013 int action = generic_ref->action; in add_delayed_ref()
1029 if (btrfs_qgroup_full_accounting(fs_info) && !generic_ref->skip_qgroup) { in add_delayed_ref()
1049 init_delayed_ref_common(fs_info, node, generic_ref); in add_delayed_ref()
1050 init_delayed_ref_head(head_ref, generic_ref, record, reserved); in add_delayed_ref()
1086 if (generic_ref->type == BTRFS_REF_DATA) in add_delayed_ref()
1094 return btrfs_qgroup_trace_extent_post(trans, record, generic_ref->bytenr); in add_delayed_ref()
1113 struct btrfs_ref *generic_ref, in btrfs_add_delayed_tree_ref() argument
1116 ASSERT(generic_ref->type == BTRFS_REF_METADATA && generic_ref->action); in btrfs_add_delayed_tree_ref()
1117 return add_delayed_ref(trans, generic_ref, extent_op, 0); in btrfs_add_delayed_tree_ref()
1124 struct btrfs_ref *generic_ref, in btrfs_add_delayed_data_ref() argument
1127 ASSERT(generic_ref->type == BTRFS_REF_DATA && generic_ref->action); in btrfs_add_delayed_data_ref()
1128 return add_delayed_ref(trans, generic_ref, NULL, reserved); in btrfs_add_delayed_data_ref()
1139 struct btrfs_ref generic_ref = { in btrfs_add_delayed_extent_op() local
1152 init_delayed_ref_head(head_ref, &generic_ref, NULL, 0); in btrfs_add_delayed_extent_op()