Lines Matching refs:exist
397 struct btrfs_delayed_ref_node *exist; in add_delayed_ref_tail_merge() local
405 exist = list_entry(href->ref_list.prev, struct btrfs_delayed_ref_node, in add_delayed_ref_tail_merge()
408 if (exist->type != ref->type || exist->seq != ref->seq) in add_delayed_ref_tail_merge()
411 if ((exist->type == BTRFS_TREE_BLOCK_REF_KEY || in add_delayed_ref_tail_merge()
412 exist->type == BTRFS_SHARED_BLOCK_REF_KEY) && in add_delayed_ref_tail_merge()
413 comp_tree_refs(btrfs_delayed_node_to_tree_ref(exist), in add_delayed_ref_tail_merge()
417 if ((exist->type == BTRFS_EXTENT_DATA_REF_KEY || in add_delayed_ref_tail_merge()
418 exist->type == BTRFS_SHARED_DATA_REF_KEY) && in add_delayed_ref_tail_merge()
419 comp_data_refs(btrfs_delayed_node_to_data_ref(exist), in add_delayed_ref_tail_merge()
425 if (exist->action == ref->action) { in add_delayed_ref_tail_merge()
429 if (exist->ref_mod < ref->ref_mod) { in add_delayed_ref_tail_merge()
430 exist->action = ref->action; in add_delayed_ref_tail_merge()
431 mod = -exist->ref_mod; in add_delayed_ref_tail_merge()
432 exist->ref_mod = ref->ref_mod; in add_delayed_ref_tail_merge()
436 exist->ref_mod += mod; in add_delayed_ref_tail_merge()
439 if (exist->ref_mod == 0) in add_delayed_ref_tail_merge()
440 drop_delayed_ref(trans, root, href, exist); in add_delayed_ref_tail_merge()