Lines Matching refs:head

44 				    struct btrfs_delayed_ref_head *head)  in delete_delayed_ref_head()  argument
51 spin_lock(&head->lock); in delete_delayed_ref_head()
52 btrfs_delete_ref_head(fs_info, delayed_refs, head); in delete_delayed_ref_head()
53 spin_unlock(&head->lock); in delete_delayed_ref_head()
56 btrfs_delayed_ref_unlock(head); in delete_delayed_ref_head()
57 btrfs_put_delayed_ref_head(head); in delete_delayed_ref_head()
60 static void delete_delayed_ref_node(struct btrfs_delayed_ref_head *head, in delete_delayed_ref_node() argument
63 rb_erase_cached(&node->ref_node, &head->ref_tree); in delete_delayed_ref_node()
70 static int validate_ref_head(struct btrfs_delayed_ref_head *head, in validate_ref_head() argument
73 if (head->bytenr != check->bytenr) { in validate_ref_head()
74 test_err("invalid bytenr have: %llu want: %llu", head->bytenr, in validate_ref_head()
79 if (head->num_bytes != check->num_bytes) { in validate_ref_head()
81 head->num_bytes, check->num_bytes); in validate_ref_head()
85 if (head->ref_mod != check->ref_mod) { in validate_ref_head()
86 test_err("invalid ref_mod have: %d want: %d", head->ref_mod, in validate_ref_head()
91 if (head->total_ref_mod != check->total_ref_mod) { in validate_ref_head()
93 head->total_ref_mod, check->total_ref_mod); in validate_ref_head()
97 if (head->must_insert_reserved != check->must_insert) { in validate_ref_head()
99 head->must_insert_reserved, check->must_insert); in validate_ref_head()
173 struct btrfs_delayed_ref_head *head; in simple_test() local
201 head = btrfs_select_ref_head(fs_info, delayed_refs); in simple_test()
202 if (IS_ERR_OR_NULL(head)) { in simple_test()
203 if (IS_ERR(head)) in simple_test()
205 PTR_ERR(head)); in simple_test()
212 if (validate_ref_head(head, head_check)) in simple_test()
215 spin_lock(&head->lock); in simple_test()
216 node = btrfs_select_delayed_ref(head); in simple_test()
217 spin_unlock(&head->lock); in simple_test()
227 btrfs_unselect_ref_head(delayed_refs, head); in simple_test()
341 struct btrfs_delayed_ref_head *head = NULL; in merge_tests() local
402 head = btrfs_select_ref_head(fs_info, &trans->transaction->delayed_refs); in merge_tests()
403 if (IS_ERR_OR_NULL(head)) { in merge_tests()
404 if (IS_ERR(head)) in merge_tests()
406 PTR_ERR(head)); in merge_tests()
413 if (validate_ref_head(head, &head_check)) { in merge_tests()
418 spin_lock(&head->lock); in merge_tests()
419 node = btrfs_select_delayed_ref(head); in merge_tests()
420 spin_unlock(&head->lock); in merge_tests()
426 delete_delayed_ref_head(trans, head); in merge_tests()
427 head = NULL; in merge_tests()
452 head = btrfs_select_ref_head(fs_info, &trans->transaction->delayed_refs); in merge_tests()
453 if (IS_ERR_OR_NULL(head)) { in merge_tests()
454 if (IS_ERR(head)) in merge_tests()
456 PTR_ERR(head)); in merge_tests()
465 if (validate_ref_head(head, &head_check)) { in merge_tests()
470 spin_lock(&head->lock); in merge_tests()
471 node = btrfs_select_delayed_ref(head); in merge_tests()
472 spin_unlock(&head->lock); in merge_tests()
483 delete_delayed_ref_node(head, node); in merge_tests()
485 spin_lock(&head->lock); in merge_tests()
486 node = btrfs_select_delayed_ref(head); in merge_tests()
487 spin_unlock(&head->lock); in merge_tests()
492 delete_delayed_ref_head(trans, head); in merge_tests()
493 head = NULL; in merge_tests()
515 head = btrfs_select_ref_head(fs_info, &trans->transaction->delayed_refs); in merge_tests()
516 if (IS_ERR_OR_NULL(head)) { in merge_tests()
517 if (IS_ERR(head)) in merge_tests()
519 PTR_ERR(head)); in merge_tests()
528 if (validate_ref_head(head, &head_check)) { in merge_tests()
534 spin_lock(&head->lock); in merge_tests()
535 node = btrfs_select_delayed_ref(head); in merge_tests()
536 spin_unlock(&head->lock); in merge_tests()
547 delete_delayed_ref_node(head, node); in merge_tests()
549 spin_lock(&head->lock); in merge_tests()
550 node = btrfs_select_delayed_ref(head); in merge_tests()
551 spin_unlock(&head->lock); in merge_tests()
556 delete_delayed_ref_head(trans, head); in merge_tests()
557 head = NULL; in merge_tests()
584 head = btrfs_select_ref_head(fs_info, &trans->transaction->delayed_refs); in merge_tests()
585 if (IS_ERR_OR_NULL(head)) { in merge_tests()
586 if (IS_ERR(head)) in merge_tests()
588 PTR_ERR(head)); in merge_tests()
598 if (validate_ref_head(head, &head_check)) { in merge_tests()
603 spin_lock(&head->lock); in merge_tests()
604 node = btrfs_select_delayed_ref(head); in merge_tests()
605 spin_unlock(&head->lock); in merge_tests()
616 delete_delayed_ref_node(head, node); in merge_tests()
618 spin_lock(&head->lock); in merge_tests()
619 node = btrfs_select_delayed_ref(head); in merge_tests()
620 spin_unlock(&head->lock); in merge_tests()
626 delete_delayed_ref_head(trans, head); in merge_tests()
627 head = NULL; in merge_tests()
654 head = btrfs_select_ref_head(fs_info, &trans->transaction->delayed_refs); in merge_tests()
655 if (IS_ERR_OR_NULL(head)) { in merge_tests()
656 if (IS_ERR(head)) in merge_tests()
658 PTR_ERR(head)); in merge_tests()
668 if (validate_ref_head(head, &head_check)) { in merge_tests()
674 spin_lock(&head->lock); in merge_tests()
675 node = btrfs_select_delayed_ref(head); in merge_tests()
676 spin_unlock(&head->lock); in merge_tests()
687 delete_delayed_ref_node(head, node); in merge_tests()
689 spin_lock(&head->lock); in merge_tests()
690 node = btrfs_select_delayed_ref(head); in merge_tests()
691 spin_unlock(&head->lock); in merge_tests()
696 delete_delayed_ref_head(trans, head); in merge_tests()
697 head = NULL; in merge_tests()
739 head = btrfs_select_ref_head(fs_info, &trans->transaction->delayed_refs); in merge_tests()
740 if (IS_ERR_OR_NULL(head)) { in merge_tests()
741 if (IS_ERR(head)) in merge_tests()
743 PTR_ERR(head)); in merge_tests()
753 if (validate_ref_head(head, &head_check)) { in merge_tests()
758 spin_lock(&head->lock); in merge_tests()
759 node = btrfs_select_delayed_ref(head); in merge_tests()
760 spin_unlock(&head->lock); in merge_tests()
767 if (!IS_ERR_OR_NULL(head)) in merge_tests()
768 btrfs_unselect_ref_head(&trans->transaction->delayed_refs, head); in merge_tests()
782 struct btrfs_delayed_ref_head *head = NULL; in select_delayed_refs_test() local
830 head = btrfs_select_ref_head(fs_info, delayed_refs); in select_delayed_refs_test()
831 if (IS_ERR_OR_NULL(head)) { in select_delayed_refs_test()
832 if (IS_ERR(head)) in select_delayed_refs_test()
834 PTR_ERR(head)); in select_delayed_refs_test()
838 head = NULL; in select_delayed_refs_test()
843 if (validate_ref_head(head, &head_check)) { in select_delayed_refs_test()
848 spin_lock(&head->lock); in select_delayed_refs_test()
849 node = btrfs_select_delayed_ref(head); in select_delayed_refs_test()
850 spin_unlock(&head->lock); in select_delayed_refs_test()
861 delete_delayed_ref_node(head, node); in select_delayed_refs_test()
863 spin_lock(&head->lock); in select_delayed_refs_test()
864 node = btrfs_select_delayed_ref(head); in select_delayed_refs_test()
865 spin_unlock(&head->lock); in select_delayed_refs_test()
877 delete_delayed_ref_node(head, node); in select_delayed_refs_test()
878 delete_delayed_ref_head(trans, head); in select_delayed_refs_test()
879 head = NULL; in select_delayed_refs_test()
917 head = btrfs_select_ref_head(fs_info, delayed_refs); in select_delayed_refs_test()
918 if (IS_ERR_OR_NULL(head)) { in select_delayed_refs_test()
919 if (IS_ERR(head)) in select_delayed_refs_test()
921 PTR_ERR(head)); in select_delayed_refs_test()
925 head = NULL; in select_delayed_refs_test()
930 if (validate_ref_head(head, &head_check)) { in select_delayed_refs_test()
935 spin_lock(&head->lock); in select_delayed_refs_test()
936 node = btrfs_select_delayed_ref(head); in select_delayed_refs_test()
937 spin_unlock(&head->lock); in select_delayed_refs_test()
949 delete_delayed_ref_node(head, node); in select_delayed_refs_test()
951 spin_lock(&head->lock); in select_delayed_refs_test()
952 node = btrfs_select_delayed_ref(head); in select_delayed_refs_test()
953 spin_unlock(&head->lock); in select_delayed_refs_test()
965 delete_delayed_ref_node(head, node); in select_delayed_refs_test()
968 if (head) in select_delayed_refs_test()
969 btrfs_unselect_ref_head(delayed_refs, head); in select_delayed_refs_test()