Lines Matching full:ref

5 #include "../delayed-ref.h"
175 struct btrfs_ref ref = { in simple_test() local
185 if (ref.type == BTRFS_REF_METADATA) in simple_test()
186 btrfs_init_tree_ref(&ref, node_check->owner, node_check->root, in simple_test()
189 btrfs_init_data_ref(&ref, node_check->owner, node_check->offset, in simple_test()
192 if (ref.type == BTRFS_REF_METADATA) in simple_test()
193 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in simple_test()
195 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in simple_test()
197 test_err("failed ref action %d", ret); in simple_test()
204 test_err("failed to select delayed ref head: %ld", in simple_test()
207 test_err("failed to find delayed ref head"); in simple_test()
219 test_err("failed to select delayed ref"); in simple_test()
333 * Merge tests, validate that we do delayed ref merging properly, the ref counts
343 struct btrfs_ref ref = { in merge_tests() local
368 * First add a ref and then drop it, make sure we get a head ref with a in merge_tests()
369 * 0 total ref mod and no nodes. in merge_tests()
374 btrfs_init_tree_ref(&ref, FAKE_LEVEL, FAKE_ROOT_OBJECTID, false); in merge_tests()
379 btrfs_init_data_ref(&ref, FAKE_INO, FAKE_FILE_OFFSET, in merge_tests()
384 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
386 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
388 test_err("failed ref action %d", ret); in merge_tests()
392 ref.action = BTRFS_DROP_DELAYED_REF; in merge_tests()
394 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
396 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
398 test_err("failed ref action %d", ret); in merge_tests()
405 test_err("failed to select delayed ref head: %ld", in merge_tests()
408 test_err("failed to find delayed ref head"); in merge_tests()
430 * Add a ref, then add another ref, make sure we get a head ref with a in merge_tests()
431 * 2 total ref mod and 1 node. in merge_tests()
433 ref.action = BTRFS_ADD_DELAYED_REF; in merge_tests()
435 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
437 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
439 test_err("failed ref action %d", ret); in merge_tests()
444 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
446 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
448 test_err("failed ref action %d", ret); in merge_tests()
455 test_err("failed to select delayed ref head: %ld", in merge_tests()
458 test_err("failed to find delayed ref head"); in merge_tests()
474 test_err("failed to select delayed ref"); in merge_tests()
496 ref.action = BTRFS_DROP_DELAYED_REF; in merge_tests()
498 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
500 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
502 test_err("failed ref action %d", ret); in merge_tests()
507 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
509 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
511 test_err("failed ref action %d", ret); in merge_tests()
518 test_err("failed to select delayed ref head: %ld", in merge_tests()
521 test_err("failed to find delayed ref head"); in merge_tests()
538 test_err("failed to select delayed ref"); in merge_tests()
560 ref.action = BTRFS_ADD_DELAYED_REF; in merge_tests()
563 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
565 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
567 test_err("failed ref action %d", ret); in merge_tests()
572 ref.action = BTRFS_DROP_DELAYED_REF; in merge_tests()
575 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
577 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
579 test_err("failed ref action %d", ret); in merge_tests()
587 test_err("failed to select delayed ref head: %ld", in merge_tests()
590 test_err("failed to find delayed ref head"); in merge_tests()
607 test_err("failed to select delayed ref"); in merge_tests()
630 ref.action = BTRFS_DROP_DELAYED_REF; in merge_tests()
633 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
635 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
637 test_err("failed ref action %d", ret); in merge_tests()
642 ref.action = BTRFS_ADD_DELAYED_REF; in merge_tests()
645 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
647 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
649 test_err("failed ref action %d", ret); in merge_tests()
657 test_err("failed to select delayed ref head: %ld", in merge_tests()
660 test_err("failed to find delayed ref head"); in merge_tests()
678 test_err("failed to select delayed ref"); in merge_tests()
703 ref.action = BTRFS_ADD_DELAYED_REF; in merge_tests()
706 ref.parent = 0; in merge_tests()
707 ref.ref_root = FAKE_ROOT_OBJECTID + i; in merge_tests()
709 ref.parent = FAKE_PARENT + (i * fs_info->nodesize); in merge_tests()
712 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
714 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
716 test_err("failed ref action %d", ret); in merge_tests()
721 ref.action = BTRFS_DROP_DELAYED_REF; in merge_tests()
724 ref.parent = 0; in merge_tests()
725 ref.ref_root = FAKE_ROOT_OBJECTID + i; in merge_tests()
727 ref.parent = FAKE_PARENT + (i * fs_info->nodesize); in merge_tests()
730 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in merge_tests()
732 ret = btrfs_add_delayed_data_ref(trans, &ref, 0); in merge_tests()
734 test_err("failed ref action %d", ret); in merge_tests()
742 test_err("failed to select delayed ref head: %ld", in merge_tests()
745 test_err("failed to find delayed ref head"); in merge_tests()
784 struct btrfs_ref ref = { in select_delayed_refs_test() local
811 btrfs_init_tree_ref(&ref, FAKE_LEVEL, FAKE_ROOT_OBJECTID, false); in select_delayed_refs_test()
812 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in select_delayed_refs_test()
814 test_err("failed ref action %d", ret); in select_delayed_refs_test()
822 ref.action = BTRFS_ADD_DELAYED_REF; in select_delayed_refs_test()
823 ref.ref_root = FAKE_ROOT_OBJECTID + 1; in select_delayed_refs_test()
824 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in select_delayed_refs_test()
826 test_err("failed ref action %d", ret); in select_delayed_refs_test()
833 test_err("failed to select delayed ref head: %ld", in select_delayed_refs_test()
836 test_err("failed to find delayed ref head"); in select_delayed_refs_test()
852 test_err("failed to select delayed ref"); in select_delayed_refs_test()
867 test_err("failed to select delayed ref"); in select_delayed_refs_test()
886 ref.action = BTRFS_DROP_DELAYED_REF; in select_delayed_refs_test()
887 ref.ref_root = FAKE_ROOT_OBJECTID; in select_delayed_refs_test()
888 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in select_delayed_refs_test()
890 test_err("failed ref action %d", ret); in select_delayed_refs_test()
894 ref.action = BTRFS_ADD_DELAYED_REF; in select_delayed_refs_test()
895 ref.ref_root = FAKE_ROOT_OBJECTID + 1; in select_delayed_refs_test()
896 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in select_delayed_refs_test()
898 test_err("failed ref action %d", ret); in select_delayed_refs_test()
902 ref.action = BTRFS_DROP_DELAYED_REF; in select_delayed_refs_test()
903 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in select_delayed_refs_test()
905 test_err("failed ref action %d", ret); in select_delayed_refs_test()
909 ref.action = BTRFS_ADD_DELAYED_REF; in select_delayed_refs_test()
910 ref.ref_root = FAKE_ROOT_OBJECTID + 2; in select_delayed_refs_test()
911 ret = btrfs_add_delayed_tree_ref(trans, &ref, NULL); in select_delayed_refs_test()
913 test_err("failed ref action %d", ret); in select_delayed_refs_test()
920 test_err("failed to select delayed ref head: %ld", in select_delayed_refs_test()
923 test_err("failed to find delayed ref head"); in select_delayed_refs_test()
939 test_err("failed to select delayed ref"); in select_delayed_refs_test()
955 test_err("failed to select delayed ref"); in select_delayed_refs_test()