• Home
  • Raw
  • Download

Lines Matching refs:ret

266 	int ret;  member
425 int ret; in fs_path_prepare_for_add() local
431 ret = fs_path_ensure_buf(p, new_len); in fs_path_prepare_for_add()
432 if (ret < 0) in fs_path_prepare_for_add()
449 return ret; in fs_path_prepare_for_add()
454 int ret; in fs_path_add() local
457 ret = fs_path_prepare_for_add(p, name_len, &prepared); in fs_path_add()
458 if (ret < 0) in fs_path_add()
463 return ret; in fs_path_add()
468 int ret; in fs_path_add_path() local
471 ret = fs_path_prepare_for_add(p, p2->end - p2->start, &prepared); in fs_path_add_path()
472 if (ret < 0) in fs_path_add_path()
477 return ret; in fs_path_add_path()
484 int ret; in fs_path_add_from_extent_buffer() local
487 ret = fs_path_prepare_for_add(p, len, &prepared); in fs_path_add_from_extent_buffer()
488 if (ret < 0) in fs_path_add_from_extent_buffer()
494 return ret; in fs_path_add_from_extent_buffer()
499 int ret; in fs_path_copy() local
504 ret = fs_path_add_path(p, from); in fs_path_copy()
506 return ret; in fs_path_copy()
541 int ret; in write_buf() local
549 ret = vfs_write(filp, (__force const char __user *)buf + pos, in write_buf()
555 if (ret < 0) in write_buf()
557 if (ret == 0) { in write_buf()
558 ret = -EIO; in write_buf()
561 pos += ret; in write_buf()
564 ret = 0; in write_buf()
568 return ret; in write_buf()
625 ret = tlv_put(sctx, attrtype, attrlen, data); \
626 if (ret < 0) \
632 ret = tlv_put_u##bits(sctx, attrtype, value); \
633 if (ret < 0) \
643 ret = tlv_put_string(sctx, attrtype, str, len); \
644 if (ret < 0) \
649 ret = tlv_put_string(sctx, attrtype, p->start, \
651 if (ret < 0) \
656 ret = tlv_put_uuid(sctx, attrtype, uuid); \
657 if (ret < 0) \
662 ret = tlv_put_btrfs_timespec(sctx, attrtype, eb, ts); \
663 if (ret < 0) \
699 int ret; in send_cmd() local
710 ret = write_buf(sctx->send_filp, sctx->send_buf, sctx->send_size, in send_cmd()
717 return ret; in send_cmd()
727 int ret; in send_rename() local
731 ret = begin_cmd(sctx, BTRFS_SEND_C_RENAME); in send_rename()
732 if (ret < 0) in send_rename()
738 ret = send_cmd(sctx); in send_rename()
742 return ret; in send_rename()
752 int ret; in send_link() local
756 ret = begin_cmd(sctx, BTRFS_SEND_C_LINK); in send_link()
757 if (ret < 0) in send_link()
763 ret = send_cmd(sctx); in send_link()
767 return ret; in send_link()
776 int ret; in send_unlink() local
780 ret = begin_cmd(sctx, BTRFS_SEND_C_UNLINK); in send_unlink()
781 if (ret < 0) in send_unlink()
786 ret = send_cmd(sctx); in send_unlink()
790 return ret; in send_unlink()
799 int ret; in send_rmdir() local
803 ret = begin_cmd(sctx, BTRFS_SEND_C_RMDIR); in send_rmdir()
804 if (ret < 0) in send_rmdir()
809 ret = send_cmd(sctx); in send_rmdir()
813 return ret; in send_rmdir()
823 int ret; in __get_inode_info() local
830 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in __get_inode_info()
831 if (ret) { in __get_inode_info()
832 if (ret > 0) in __get_inode_info()
833 ret = -ENOENT; in __get_inode_info()
834 return ret; in __get_inode_info()
852 return ret; in __get_inode_info()
861 int ret; in get_inode_info() local
866 ret = __get_inode_info(root, path, ino, size, gen, mode, uid, gid, in get_inode_info()
869 return ret; in get_inode_info()
899 int ret = 0; in iterate_inode_ref() local
952 ret = PTR_ERR(start); in iterate_inode_ref()
957 ret = fs_path_ensure_buf(p, in iterate_inode_ref()
959 if (ret < 0) in iterate_inode_ref()
966 ret = PTR_ERR(start); in iterate_inode_ref()
973 ret = fs_path_add_from_extent_buffer(p, eb, name_off, in iterate_inode_ref()
975 if (ret < 0) in iterate_inode_ref()
980 ret = iterate(num, dir, index, p, ctx); in iterate_inode_ref()
981 if (ret) in iterate_inode_ref()
989 return ret; in iterate_inode_ref()
1008 int ret = 0; in iterate_dir_item() local
1033 ret = -ENOMEM; in iterate_dir_item()
1054 ret = -ENAMETOOLONG; in iterate_dir_item()
1058 ret = -E2BIG; in iterate_dir_item()
1066 ret = -ENAMETOOLONG; in iterate_dir_item()
1087 ret = -ENOMEM; in iterate_dir_item()
1100 ret = iterate(num, &di_key, buf, name_len, buf + name_len, in iterate_dir_item()
1102 if (ret < 0) in iterate_dir_item()
1104 if (ret) { in iterate_dir_item()
1105 ret = 0; in iterate_dir_item()
1114 return ret; in iterate_dir_item()
1120 int ret; in __copy_first_ref() local
1123 ret = fs_path_copy(pt, p); in __copy_first_ref()
1124 if (ret < 0) in __copy_first_ref()
1125 return ret; in __copy_first_ref()
1138 int ret; in get_inode_path() local
1152 ret = btrfs_search_slot_for_read(root, &key, p, 1, 0); in get_inode_path()
1153 if (ret < 0) in get_inode_path()
1155 if (ret) { in get_inode_path()
1156 ret = 1; in get_inode_path()
1163 ret = -ENOENT; in get_inode_path()
1167 ret = iterate_inode_ref(root, p, &found_key, 1, in get_inode_path()
1169 if (ret < 0) in get_inode_path()
1171 ret = 0; in get_inode_path()
1175 return ret; in get_inode_path()
1234 int ret; in __iterate_backrefs() local
1255 ret = __get_inode_info(found->root, bctx->path, ino, &i_size, NULL, NULL, in __iterate_backrefs()
1258 if (ret < 0) in __iterate_backrefs()
1259 return ret; in __iterate_backrefs()
1317 int ret; in find_extent_clone() local
1342 ret = -ENOMEM; in find_extent_clone()
1354 ret = 0; in find_extent_clone()
1362 ret = -ENOENT; in find_extent_clone()
1370 ret = -ENOENT; in find_extent_clone()
1376 ret = extent_from_logical(fs_info, disk_byte, tmp_path, in find_extent_clone()
1381 if (ret < 0) in find_extent_clone()
1384 ret = -EIO; in find_extent_clone()
1433 ret = iterate_extent_inodes(fs_info, in find_extent_clone()
1437 if (ret < 0) in find_extent_clone()
1442 ret = -EIO; in find_extent_clone()
1470 ret = 0; in find_extent_clone()
1472 ret = -ENOENT; in find_extent_clone()
1478 return ret; in find_extent_clone()
1485 int ret; in read_symlink() local
1501 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in read_symlink()
1502 if (ret < 0) in read_symlink()
1504 if (ret) { in read_symlink()
1516 ret = -EIO; in read_symlink()
1530 ret = fs_path_add_from_extent_buffer(dest, path->nodes[0], off, len); in read_symlink()
1534 return ret; in read_symlink()
1545 int ret = 0; in gen_unique_name() local
1566 ret = PTR_ERR(di); in gen_unique_name()
1577 ret = 0; in gen_unique_name()
1586 ret = PTR_ERR(di); in gen_unique_name()
1598 ret = fs_path_add(dest, tmp, strlen(tmp)); in gen_unique_name()
1602 return ret; in gen_unique_name()
1615 int ret; in get_cur_inode_state() local
1621 ret = get_inode_info(sctx->send_root, ino, NULL, &left_gen, NULL, NULL, in get_cur_inode_state()
1623 if (ret < 0 && ret != -ENOENT) in get_cur_inode_state()
1625 left_ret = ret; in get_cur_inode_state()
1630 ret = get_inode_info(sctx->parent_root, ino, NULL, &right_gen, in get_cur_inode_state()
1632 if (ret < 0 && ret != -ENOENT) in get_cur_inode_state()
1634 right_ret = ret; in get_cur_inode_state()
1639 ret = inode_state_no_change; in get_cur_inode_state()
1642 ret = inode_state_did_create; in get_cur_inode_state()
1644 ret = inode_state_will_create; in get_cur_inode_state()
1647 ret = inode_state_did_delete; in get_cur_inode_state()
1649 ret = inode_state_will_delete; in get_cur_inode_state()
1651 ret = -ENOENT; in get_cur_inode_state()
1656 ret = inode_state_did_create; in get_cur_inode_state()
1658 ret = inode_state_will_create; in get_cur_inode_state()
1660 ret = -ENOENT; in get_cur_inode_state()
1665 ret = inode_state_did_delete; in get_cur_inode_state()
1667 ret = inode_state_will_delete; in get_cur_inode_state()
1669 ret = -ENOENT; in get_cur_inode_state()
1672 ret = -ENOENT; in get_cur_inode_state()
1676 return ret; in get_cur_inode_state()
1681 int ret; in is_inode_existent() local
1686 ret = get_cur_inode_state(sctx, ino, gen); in is_inode_existent()
1687 if (ret < 0) in is_inode_existent()
1690 if (ret == inode_state_no_change || in is_inode_existent()
1691 ret == inode_state_did_create || in is_inode_existent()
1692 ret == inode_state_will_delete) in is_inode_existent()
1693 ret = 1; in is_inode_existent()
1695 ret = 0; in is_inode_existent()
1698 return ret; in is_inode_existent()
1709 int ret = 0; in lookup_dir_item_inode() local
1721 ret = -ENOENT; in lookup_dir_item_inode()
1725 ret = PTR_ERR(di); in lookup_dir_item_inode()
1730 ret = -ENOENT; in lookup_dir_item_inode()
1738 return ret; in lookup_dir_item_inode()
1748 int ret; in get_first_ref() local
1763 ret = btrfs_search_slot_for_read(root, &key, path, 1, 0); in get_first_ref()
1764 if (ret < 0) in get_first_ref()
1766 if (!ret) in get_first_ref()
1769 if (ret || found_key.objectid != ino || in get_first_ref()
1772 ret = -ENOENT; in get_first_ref()
1781 ret = fs_path_add_from_extent_buffer(name, path->nodes[0], in get_first_ref()
1790 ret = fs_path_add_from_extent_buffer(name, path->nodes[0], in get_first_ref()
1794 if (ret < 0) in get_first_ref()
1799 ret = get_inode_info(root, parent_dir, NULL, dir_gen, NULL, in get_first_ref()
1801 if (ret < 0) in get_first_ref()
1809 return ret; in get_first_ref()
1816 int ret; in is_first_ref() local
1824 ret = get_first_ref(root, ino, &tmp_dir, NULL, tmp_name); in is_first_ref()
1825 if (ret < 0) in is_first_ref()
1829 ret = 0; in is_first_ref()
1833 ret = !memcmp(tmp_name->start, name, name_len); in is_first_ref()
1837 return ret; in is_first_ref()
1854 int ret = 0; in will_overwrite_ref() local
1862 ret = is_inode_existent(sctx, dir, dir_gen); in will_overwrite_ref()
1863 if (ret <= 0) in will_overwrite_ref()
1872 ret = get_inode_info(sctx->parent_root, dir, NULL, &gen, NULL, in will_overwrite_ref()
1874 if (ret < 0 && ret != -ENOENT) in will_overwrite_ref()
1876 if (ret) { in will_overwrite_ref()
1877 ret = 0; in will_overwrite_ref()
1884 ret = lookup_dir_item_inode(sctx->parent_root, dir, name, name_len, in will_overwrite_ref()
1886 if (ret < 0 && ret != -ENOENT) in will_overwrite_ref()
1888 if (ret) { in will_overwrite_ref()
1889 ret = 0; in will_overwrite_ref()
1900 ret = get_inode_info(sctx->parent_root, other_inode, NULL, in will_overwrite_ref()
1902 if (ret < 0) in will_overwrite_ref()
1905 ret = 1; in will_overwrite_ref()
1908 ret = 0; in will_overwrite_ref()
1912 return ret; in will_overwrite_ref()
1927 int ret = 0; in did_overwrite_ref() local
1935 ret = is_inode_existent(sctx, dir, dir_gen); in did_overwrite_ref()
1936 if (ret <= 0) in did_overwrite_ref()
1940 ret = lookup_dir_item_inode(sctx->send_root, dir, name, name_len, in did_overwrite_ref()
1942 if (ret < 0 && ret != -ENOENT) in did_overwrite_ref()
1944 if (ret) { in did_overwrite_ref()
1946 ret = 0; in did_overwrite_ref()
1950 ret = get_inode_info(sctx->send_root, ow_inode, NULL, &gen, NULL, NULL, in did_overwrite_ref()
1952 if (ret < 0) in did_overwrite_ref()
1956 ret = 0; in did_overwrite_ref()
1969 ret = 1; in did_overwrite_ref()
1971 ret = 0; in did_overwrite_ref()
1974 return ret; in did_overwrite_ref()
1984 int ret = 0; in did_overwrite_first_ref() local
1996 ret = get_first_ref(sctx->parent_root, ino, &dir, &dir_gen, name); in did_overwrite_first_ref()
1997 if (ret < 0) in did_overwrite_first_ref()
2000 ret = did_overwrite_ref(sctx, dir, dir_gen, ino, gen, in did_overwrite_first_ref()
2005 return ret; in did_overwrite_first_ref()
2017 int ret = 0; in name_cache_insert() local
2030 ret = radix_tree_insert(&sctx->name_cache, nce->ino, nce_head); in name_cache_insert()
2031 if (ret < 0) { in name_cache_insert()
2034 return ret; in name_cache_insert()
2041 return ret; in name_cache_insert()
2141 int ret; in __get_cur_name_and_parent() local
2160 ret = fs_path_add(dest, nce->name, nce->name_len); in __get_cur_name_and_parent()
2161 if (ret < 0) in __get_cur_name_and_parent()
2163 ret = nce->ret; in __get_cur_name_and_parent()
2173 ret = is_inode_existent(sctx, ino, gen); in __get_cur_name_and_parent()
2174 if (ret < 0) in __get_cur_name_and_parent()
2177 if (!ret) { in __get_cur_name_and_parent()
2178 ret = gen_unique_name(sctx, ino, gen, dest); in __get_cur_name_and_parent()
2179 if (ret < 0) in __get_cur_name_and_parent()
2181 ret = 1; in __get_cur_name_and_parent()
2190 ret = get_first_ref(sctx->send_root, ino, in __get_cur_name_and_parent()
2193 ret = get_first_ref(sctx->parent_root, ino, in __get_cur_name_and_parent()
2195 if (ret < 0) in __get_cur_name_and_parent()
2202 ret = did_overwrite_ref(sctx, *parent_ino, *parent_gen, ino, gen, in __get_cur_name_and_parent()
2204 if (ret < 0) in __get_cur_name_and_parent()
2206 if (ret) { in __get_cur_name_and_parent()
2208 ret = gen_unique_name(sctx, ino, gen, dest); in __get_cur_name_and_parent()
2209 if (ret < 0) in __get_cur_name_and_parent()
2211 ret = 1; in __get_cur_name_and_parent()
2220 ret = -ENOMEM; in __get_cur_name_and_parent()
2229 nce->ret = ret; in __get_cur_name_and_parent()
2239 ret = nce_ret; in __get_cur_name_and_parent()
2243 return ret; in __get_cur_name_and_parent()
2274 int ret = 0; in get_cur_path() local
2282 ret = -ENOMEM; in get_cur_path()
2295 ret = gen_unique_name(sctx, ino, gen, name); in get_cur_path()
2296 if (ret < 0) in get_cur_path()
2298 ret = fs_path_add_path(dest, name); in get_cur_path()
2304 ret = gen_unique_name(sctx, ino, gen, name); in get_cur_path()
2307 ret = get_first_ref(sctx->parent_root, ino, in get_cur_path()
2310 ret = __get_cur_name_and_parent(sctx, ino, gen, in get_cur_path()
2313 if (ret) in get_cur_path()
2317 if (ret < 0) in get_cur_path()
2320 ret = fs_path_add_path(dest, name); in get_cur_path()
2321 if (ret < 0) in get_cur_path()
2330 if (!ret) in get_cur_path()
2332 return ret; in get_cur_path()
2340 int ret; in send_subvol_begin() local
2364 ret = btrfs_search_slot_for_read(send_root->fs_info->tree_root, in send_subvol_begin()
2366 if (ret < 0) in send_subvol_begin()
2368 if (ret) { in send_subvol_begin()
2369 ret = -ENOENT; in send_subvol_begin()
2377 ret = -ENOENT; in send_subvol_begin()
2386 ret = begin_cmd(sctx, BTRFS_SEND_C_SNAPSHOT); in send_subvol_begin()
2387 if (ret < 0) in send_subvol_begin()
2390 ret = begin_cmd(sctx, BTRFS_SEND_C_SUBVOL); in send_subvol_begin()
2391 if (ret < 0) in send_subvol_begin()
2417 ret = send_cmd(sctx); in send_subvol_begin()
2423 return ret; in send_subvol_begin()
2429 int ret = 0; in send_truncate() local
2438 ret = begin_cmd(sctx, BTRFS_SEND_C_TRUNCATE); in send_truncate()
2439 if (ret < 0) in send_truncate()
2442 ret = get_cur_path(sctx, ino, gen, p); in send_truncate()
2443 if (ret < 0) in send_truncate()
2448 ret = send_cmd(sctx); in send_truncate()
2453 return ret; in send_truncate()
2459 int ret = 0; in send_chmod() local
2468 ret = begin_cmd(sctx, BTRFS_SEND_C_CHMOD); in send_chmod()
2469 if (ret < 0) in send_chmod()
2472 ret = get_cur_path(sctx, ino, gen, p); in send_chmod()
2473 if (ret < 0) in send_chmod()
2478 ret = send_cmd(sctx); in send_chmod()
2483 return ret; in send_chmod()
2489 int ret = 0; in send_chown() local
2499 ret = begin_cmd(sctx, BTRFS_SEND_C_CHOWN); in send_chown()
2500 if (ret < 0) in send_chown()
2503 ret = get_cur_path(sctx, ino, gen, p); in send_chown()
2504 if (ret < 0) in send_chown()
2510 ret = send_cmd(sctx); in send_chown()
2515 return ret; in send_chown()
2521 int ret = 0; in send_utimes() local
2537 ret = -ENOMEM; in send_utimes()
2544 ret = btrfs_search_slot(NULL, sctx->send_root, &key, path, 0, 0); in send_utimes()
2545 if (ret > 0) in send_utimes()
2546 ret = -ENOENT; in send_utimes()
2547 if (ret < 0) in send_utimes()
2554 ret = begin_cmd(sctx, BTRFS_SEND_C_UTIMES); in send_utimes()
2555 if (ret < 0) in send_utimes()
2558 ret = get_cur_path(sctx, ino, gen, p); in send_utimes()
2559 if (ret < 0) in send_utimes()
2567 ret = send_cmd(sctx); in send_utimes()
2573 return ret; in send_utimes()
2584 int ret = 0; in send_create_inode() local
2598 ret = get_inode_info(sctx->send_root, ino, NULL, &gen, &mode, in send_create_inode()
2600 if (ret < 0) in send_create_inode()
2623 ret = -ENOTSUPP; in send_create_inode()
2627 ret = begin_cmd(sctx, cmd); in send_create_inode()
2628 if (ret < 0) in send_create_inode()
2631 ret = gen_unique_name(sctx, ino, gen, p); in send_create_inode()
2632 if (ret < 0) in send_create_inode()
2640 ret = read_symlink(sctx->send_root, ino, p); in send_create_inode()
2641 if (ret < 0) in send_create_inode()
2650 ret = send_cmd(sctx); in send_create_inode()
2651 if (ret < 0) in send_create_inode()
2658 return ret; in send_create_inode()
2668 int ret = 0; in did_create_dir() local
2679 ret = -ENOMEM; in did_create_dir()
2686 ret = btrfs_search_slot(NULL, sctx->send_root, &key, path, 0, 0); in did_create_dir()
2687 if (ret < 0) in did_create_dir()
2694 ret = btrfs_next_leaf(sctx->send_root, path); in did_create_dir()
2695 if (ret < 0) { in did_create_dir()
2697 } else if (ret > 0) { in did_create_dir()
2698 ret = 0; in did_create_dir()
2707 ret = 0; in did_create_dir()
2716 ret = 1; in did_create_dir()
2725 return ret; in did_create_dir()
2736 int ret; in send_create_inode_if_needed() local
2739 ret = did_create_dir(sctx, sctx->cur_ino); in send_create_inode_if_needed()
2740 if (ret < 0) in send_create_inode_if_needed()
2742 if (ret) { in send_create_inode_if_needed()
2743 ret = 0; in send_create_inode_if_needed()
2748 ret = send_create_inode(sctx, sctx->cur_ino); in send_create_inode_if_needed()
2749 if (ret < 0) in send_create_inode_if_needed()
2753 return ret; in send_create_inode_if_needed()
2840 int ret; in orphanize_inode() local
2847 ret = gen_unique_name(sctx, ino, gen, orphan); in orphanize_inode()
2848 if (ret < 0) in orphanize_inode()
2851 ret = send_rename(sctx, path, orphan); in orphanize_inode()
2855 return ret; in orphanize_inode()
2931 int ret = 0; in can_rmdir() local
2952 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in can_rmdir()
2953 if (ret < 0) in can_rmdir()
2960 ret = btrfs_next_leaf(root, path); in can_rmdir()
2961 if (ret < 0) in can_rmdir()
2963 else if (ret > 0) in can_rmdir()
2983 ret = PTR_ERR(odi); in can_rmdir()
2988 ret = 0; in can_rmdir()
2997 ret = 0; in can_rmdir()
3004 ret = 1; in can_rmdir()
3008 return ret; in can_rmdir()
3089 int ret; in add_pending_dir_move() local
3115 ret = dup_ref(cur, &pm->update_refs); in add_pending_dir_move()
3116 if (ret < 0) in add_pending_dir_move()
3120 ret = dup_ref(cur, &pm->update_refs); in add_pending_dir_move()
3121 if (ret < 0) in add_pending_dir_move()
3125 ret = add_waiting_dir_move(sctx, pm->ino, is_orphan); in add_pending_dir_move()
3126 if (ret) in add_pending_dir_move()
3135 ret = 0; in add_pending_dir_move()
3137 if (ret) { in add_pending_dir_move()
3141 return ret; in add_pending_dir_move()
3165 int ret = 0; in path_loop() local
3179 ret = get_first_ref(sctx->parent_root, ino, in path_loop()
3182 ret = __get_cur_name_and_parent(sctx, ino, gen, in path_loop()
3185 if (ret > 0) { in path_loop()
3186 ret = 0; in path_loop()
3190 if (ret < 0) in path_loop()
3193 ret = 1; in path_loop()
3201 return ret; in path_loop()
3216 int ret; in apply_dir_move() local
3221 ret = -ENOMEM; in apply_dir_move()
3232 ret = gen_unique_name(sctx, pm->ino, in apply_dir_move()
3235 ret = get_first_ref(sctx->parent_root, pm->ino, in apply_dir_move()
3237 if (ret < 0) in apply_dir_move()
3239 ret = get_cur_path(sctx, parent_ino, parent_gen, in apply_dir_move()
3241 if (ret < 0) in apply_dir_move()
3243 ret = fs_path_add_path(from_path, name); in apply_dir_move()
3245 if (ret < 0) in apply_dir_move()
3249 ret = path_loop(sctx, name, pm->ino, pm->gen, &ancestor); in apply_dir_move()
3250 if (ret < 0) in apply_dir_move()
3252 if (ret) { in apply_dir_move()
3255 ret = add_pending_dir_move(sctx, pm->ino, pm->gen, ancestor, in apply_dir_move()
3258 if (ret < 0) in apply_dir_move()
3270 ret = get_cur_path(sctx, pm->ino, pm->gen, to_path); in apply_dir_move()
3271 if (ret < 0) in apply_dir_move()
3274 ret = send_rename(sctx, from_path, to_path); in apply_dir_move()
3275 if (ret < 0) in apply_dir_move()
3286 ret = can_rmdir(sctx, rmdir_ino, odi->gen, sctx->cur_ino); in apply_dir_move()
3287 if (ret < 0) in apply_dir_move()
3289 if (!ret) in apply_dir_move()
3294 ret = -ENOMEM; in apply_dir_move()
3297 ret = get_cur_path(sctx, rmdir_ino, odi->gen, name); in apply_dir_move()
3298 if (ret < 0) in apply_dir_move()
3300 ret = send_rmdir(sctx, name); in apply_dir_move()
3301 if (ret < 0) in apply_dir_move()
3307 ret = send_utimes(sctx, pm->ino, pm->gen); in apply_dir_move()
3308 if (ret < 0) in apply_dir_move()
3319 ret = get_inode_info(sctx->send_root, cur->dir, NULL, in apply_dir_move()
3321 if (ret == -ENOENT) { in apply_dir_move()
3322 ret = 0; in apply_dir_move()
3325 if (ret < 0) in apply_dir_move()
3328 ret = send_utimes(sctx, cur->dir, cur->dir_gen); in apply_dir_move()
3329 if (ret < 0) in apply_dir_move()
3339 return ret; in apply_dir_move()
3370 int ret = 0; in apply_children_dir_moves() local
3382 ret = apply_dir_move(sctx, pm); in apply_children_dir_moves()
3384 if (ret) in apply_children_dir_moves()
3397 return ret; in apply_children_dir_moves()
3446 int ret = 0; in wait_for_dest_dir_move() local
3460 ret = btrfs_search_slot(NULL, sctx->parent_root, &key, path, 0, 0); in wait_for_dest_dir_move()
3461 if (ret < 0) { in wait_for_dest_dir_move()
3463 } else if (ret > 0) { in wait_for_dest_dir_move()
3464 ret = 0; in wait_for_dest_dir_move()
3471 ret = 0; in wait_for_dest_dir_move()
3484 ret = 0; in wait_for_dest_dir_move()
3488 ret = get_inode_info(sctx->parent_root, di_key.objectid, NULL, in wait_for_dest_dir_move()
3490 if (ret < 0) in wait_for_dest_dir_move()
3492 ret = get_inode_info(sctx->send_root, di_key.objectid, NULL, in wait_for_dest_dir_move()
3494 if (ret < 0) { in wait_for_dest_dir_move()
3495 if (ret == -ENOENT) in wait_for_dest_dir_move()
3496 ret = 0; in wait_for_dest_dir_move()
3502 ret = 0; in wait_for_dest_dir_move()
3508 ret = add_pending_dir_move(sctx, in wait_for_dest_dir_move()
3515 if (!ret) in wait_for_dest_dir_move()
3516 ret = 1; in wait_for_dest_dir_move()
3520 return ret; in wait_for_dest_dir_move()
3536 int ret; in is_ancestor() local
3541 ret = get_first_ref(root, ino, &parent, &parent_gen, fs_path); in is_ancestor()
3542 if (ret < 0) { in is_ancestor()
3543 if (ret == -ENOENT && ino == ino2) in is_ancestor()
3544 ret = 0; in is_ancestor()
3545 return ret; in is_ancestor()
3558 int ret = 0; in wait_for_parent_move() local
3568 ret = -ENOMEM; in wait_for_parent_move()
3591 ret = is_ancestor(sctx->parent_root, in wait_for_parent_move()
3594 if (ret) in wait_for_parent_move()
3601 ret = get_first_ref(sctx->send_root, ino, &parent_ino_after, in wait_for_parent_move()
3603 if (ret < 0) in wait_for_parent_move()
3605 ret = get_first_ref(sctx->parent_root, ino, &parent_ino_before, in wait_for_parent_move()
3607 if (ret < 0 && ret != -ENOENT) { in wait_for_parent_move()
3609 } else if (ret == -ENOENT) { in wait_for_parent_move()
3610 ret = 0; in wait_for_parent_move()
3619 ret = 1; in wait_for_parent_move()
3629 if (ret == 1) { in wait_for_parent_move()
3630 ret = add_pending_dir_move(sctx, in wait_for_parent_move()
3637 if (!ret) in wait_for_parent_move()
3638 ret = 1; in wait_for_parent_move()
3641 return ret; in wait_for_parent_move()
3650 int ret = 0; in process_recorded_refs() local
3673 ret = -ENOMEM; in process_recorded_refs()
3689 ret = did_overwrite_first_ref(sctx, sctx->cur_ino, in process_recorded_refs()
3691 if (ret < 0) in process_recorded_refs()
3693 if (ret) in process_recorded_refs()
3697 ret = gen_unique_name(sctx, sctx->cur_ino, in process_recorded_refs()
3699 if (ret < 0) in process_recorded_refs()
3703 ret = get_cur_path(sctx, sctx->cur_ino, sctx->cur_inode_gen, in process_recorded_refs()
3705 if (ret < 0) in process_recorded_refs()
3717 ret = get_cur_inode_state(sctx, cur->dir, cur->dir_gen); in process_recorded_refs()
3718 if (ret < 0) in process_recorded_refs()
3720 if (ret == inode_state_will_create) { in process_recorded_refs()
3721 ret = 0; in process_recorded_refs()
3730 ret = 1; in process_recorded_refs()
3739 if (!ret) in process_recorded_refs()
3740 ret = did_create_dir(sctx, cur->dir); in process_recorded_refs()
3741 if (ret < 0) in process_recorded_refs()
3743 if (!ret) { in process_recorded_refs()
3744 ret = send_create_inode(sctx, cur->dir); in process_recorded_refs()
3745 if (ret < 0) in process_recorded_refs()
3756 ret = will_overwrite_ref(sctx, cur->dir, cur->dir_gen, in process_recorded_refs()
3759 if (ret < 0) in process_recorded_refs()
3761 if (ret) { in process_recorded_refs()
3762 ret = is_first_ref(sctx->parent_root, in process_recorded_refs()
3765 if (ret < 0) in process_recorded_refs()
3767 if (ret) { in process_recorded_refs()
3771 ret = orphanize_inode(sctx, ow_inode, ow_gen, in process_recorded_refs()
3773 if (ret < 0) in process_recorded_refs()
3813 ret = get_cur_path(sctx, sctx->cur_ino, in process_recorded_refs()
3815 if (ret < 0) in process_recorded_refs()
3818 ret = send_unlink(sctx, cur->full_path); in process_recorded_refs()
3819 if (ret < 0) in process_recorded_refs()
3825 ret = wait_for_dest_dir_move(sctx, cur, is_orphan); in process_recorded_refs()
3826 if (ret < 0) in process_recorded_refs()
3828 if (ret == 1) { in process_recorded_refs()
3836 ret = wait_for_parent_move(sctx, cur, is_orphan); in process_recorded_refs()
3837 if (ret < 0) in process_recorded_refs()
3839 if (ret == 1) { in process_recorded_refs()
3851 ret = send_rename(sctx, valid_path, cur->full_path); in process_recorded_refs()
3852 if (ret < 0) in process_recorded_refs()
3855 ret = fs_path_copy(valid_path, cur->full_path); in process_recorded_refs()
3856 if (ret < 0) in process_recorded_refs()
3865 ret = send_rename(sctx, valid_path, in process_recorded_refs()
3867 if (!ret) in process_recorded_refs()
3868 ret = fs_path_copy(valid_path, in process_recorded_refs()
3870 if (ret < 0) in process_recorded_refs()
3873 ret = send_link(sctx, cur->full_path, in process_recorded_refs()
3875 if (ret < 0) in process_recorded_refs()
3879 ret = dup_ref(cur, &check_dirs); in process_recorded_refs()
3880 if (ret < 0) in process_recorded_refs()
3891 ret = can_rmdir(sctx, sctx->cur_ino, sctx->cur_inode_gen, in process_recorded_refs()
3893 if (ret < 0) in process_recorded_refs()
3895 if (ret) { in process_recorded_refs()
3896 ret = send_rmdir(sctx, valid_path); in process_recorded_refs()
3897 if (ret < 0) in process_recorded_refs()
3900 ret = orphanize_inode(sctx, sctx->cur_ino, in process_recorded_refs()
3902 if (ret < 0) in process_recorded_refs()
3908 ret = dup_ref(cur, &check_dirs); in process_recorded_refs()
3909 if (ret < 0) in process_recorded_refs()
3919 ret = dup_ref(cur, &check_dirs); in process_recorded_refs()
3920 if (ret < 0) in process_recorded_refs()
3929 ret = did_overwrite_ref(sctx, cur->dir, cur->dir_gen, in process_recorded_refs()
3932 if (ret < 0) in process_recorded_refs()
3934 if (!ret) { in process_recorded_refs()
3935 ret = send_unlink(sctx, cur->full_path); in process_recorded_refs()
3936 if (ret < 0) in process_recorded_refs()
3939 ret = dup_ref(cur, &check_dirs); in process_recorded_refs()
3940 if (ret < 0) in process_recorded_refs()
3952 ret = send_unlink(sctx, valid_path); in process_recorded_refs()
3953 if (ret < 0) in process_recorded_refs()
3973 ret = get_cur_inode_state(sctx, cur->dir, cur->dir_gen); in process_recorded_refs()
3974 if (ret < 0) in process_recorded_refs()
3977 if (ret == inode_state_did_create || in process_recorded_refs()
3978 ret == inode_state_no_change) { in process_recorded_refs()
3980 ret = send_utimes(sctx, cur->dir, cur->dir_gen); in process_recorded_refs()
3981 if (ret < 0) in process_recorded_refs()
3983 } else if (ret == inode_state_did_delete && in process_recorded_refs()
3985 ret = can_rmdir(sctx, cur->dir, cur->dir_gen, in process_recorded_refs()
3987 if (ret < 0) in process_recorded_refs()
3989 if (ret) { in process_recorded_refs()
3990 ret = get_cur_path(sctx, cur->dir, in process_recorded_refs()
3992 if (ret < 0) in process_recorded_refs()
3994 ret = send_rmdir(sctx, valid_path); in process_recorded_refs()
3995 if (ret < 0) in process_recorded_refs()
4002 ret = 0; in process_recorded_refs()
4008 return ret; in process_recorded_refs()
4014 int ret = 0; in record_ref() local
4023 ret = get_inode_info(root, dir, NULL, &gen, NULL, NULL, in record_ref()
4025 if (ret < 0) in record_ref()
4028 ret = get_cur_path(sctx, dir, gen, p); in record_ref()
4029 if (ret < 0) in record_ref()
4031 ret = fs_path_add_path(p, name); in record_ref()
4032 if (ret < 0) in record_ref()
4035 ret = __record_ref(refs, dir, gen, p); in record_ref()
4038 if (ret) in record_ref()
4040 return ret; in record_ref()
4064 int ret; in record_new_ref() local
4066 ret = iterate_inode_ref(sctx->send_root, sctx->left_path, in record_new_ref()
4068 if (ret < 0) in record_new_ref()
4070 ret = 0; in record_new_ref()
4073 return ret; in record_new_ref()
4078 int ret; in record_deleted_ref() local
4080 ret = iterate_inode_ref(sctx->parent_root, sctx->right_path, in record_deleted_ref()
4082 if (ret < 0) in record_deleted_ref()
4084 ret = 0; in record_deleted_ref()
4087 return ret; in record_deleted_ref()
4104 int ret; in __find_iref() local
4112 ret = get_inode_info(ctx->root, dir, NULL, &dir_gen, NULL, in __find_iref()
4114 if (ret) in __find_iref()
4115 return ret; in __find_iref()
4129 int ret; in find_iref() local
4138 ret = iterate_inode_ref(root, path, key, 0, __find_iref, &ctx); in find_iref()
4139 if (ret < 0) in find_iref()
4140 return ret; in find_iref()
4153 int ret; in __record_changed_new_ref() local
4156 ret = get_inode_info(sctx->send_root, dir, NULL, &dir_gen, NULL, in __record_changed_new_ref()
4158 if (ret) in __record_changed_new_ref()
4159 return ret; in __record_changed_new_ref()
4161 ret = find_iref(sctx->parent_root, sctx->right_path, in __record_changed_new_ref()
4163 if (ret == -ENOENT) in __record_changed_new_ref()
4164 ret = __record_new_ref(num, dir, index, name, sctx); in __record_changed_new_ref()
4165 else if (ret > 0) in __record_changed_new_ref()
4166 ret = 0; in __record_changed_new_ref()
4168 return ret; in __record_changed_new_ref()
4176 int ret; in __record_changed_deleted_ref() local
4179 ret = get_inode_info(sctx->parent_root, dir, NULL, &dir_gen, NULL, in __record_changed_deleted_ref()
4181 if (ret) in __record_changed_deleted_ref()
4182 return ret; in __record_changed_deleted_ref()
4184 ret = find_iref(sctx->send_root, sctx->left_path, sctx->cmp_key, in __record_changed_deleted_ref()
4186 if (ret == -ENOENT) in __record_changed_deleted_ref()
4187 ret = __record_deleted_ref(num, dir, index, name, sctx); in __record_changed_deleted_ref()
4188 else if (ret > 0) in __record_changed_deleted_ref()
4189 ret = 0; in __record_changed_deleted_ref()
4191 return ret; in __record_changed_deleted_ref()
4196 int ret = 0; in record_changed_ref() local
4198 ret = iterate_inode_ref(sctx->send_root, sctx->left_path, in record_changed_ref()
4200 if (ret < 0) in record_changed_ref()
4202 ret = iterate_inode_ref(sctx->parent_root, sctx->right_path, in record_changed_ref()
4204 if (ret < 0) in record_changed_ref()
4206 ret = 0; in record_changed_ref()
4209 return ret; in record_changed_ref()
4219 int ret; in process_all_refs() local
4242 ret = -EINVAL; in process_all_refs()
4249 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in process_all_refs()
4250 if (ret < 0) in process_all_refs()
4257 ret = btrfs_next_leaf(root, path); in process_all_refs()
4258 if (ret < 0) in process_all_refs()
4260 else if (ret > 0) in process_all_refs()
4272 ret = iterate_inode_ref(root, path, &found_key, 0, cb, sctx); in process_all_refs()
4273 if (ret < 0) in process_all_refs()
4285 ret = process_recorded_refs(sctx, &pending_move); in process_all_refs()
4288 return ret; in process_all_refs()
4296 int ret = 0; in send_set_xattr() local
4298 ret = begin_cmd(sctx, BTRFS_SEND_C_SET_XATTR); in send_set_xattr()
4299 if (ret < 0) in send_set_xattr()
4306 ret = send_cmd(sctx); in send_set_xattr()
4310 return ret; in send_set_xattr()
4317 int ret = 0; in send_remove_xattr() local
4319 ret = begin_cmd(sctx, BTRFS_SEND_C_REMOVE_XATTR); in send_remove_xattr()
4320 if (ret < 0) in send_remove_xattr()
4326 ret = send_cmd(sctx); in send_remove_xattr()
4330 return ret; in send_remove_xattr()
4338 int ret; in __process_new_xattr() local
4363 ret = get_cur_path(sctx, sctx->cur_ino, sctx->cur_inode_gen, p); in __process_new_xattr()
4364 if (ret < 0) in __process_new_xattr()
4367 ret = send_set_xattr(sctx, p, name, name_len, data, data_len); in __process_new_xattr()
4371 return ret; in __process_new_xattr()
4379 int ret; in __process_deleted_xattr() local
4387 ret = get_cur_path(sctx, sctx->cur_ino, sctx->cur_inode_gen, p); in __process_deleted_xattr()
4388 if (ret < 0) in __process_deleted_xattr()
4391 ret = send_remove_xattr(sctx, p, name, name_len); in __process_deleted_xattr()
4395 return ret; in __process_deleted_xattr()
4400 int ret = 0; in process_new_xattr() local
4402 ret = iterate_dir_item(sctx->send_root, sctx->left_path, in process_new_xattr()
4405 return ret; in process_new_xattr()
4447 int ret; in find_xattr() local
4456 ret = iterate_dir_item(root, path, key, __find_xattr, &ctx); in find_xattr()
4457 if (ret < 0) in find_xattr()
4458 return ret; in find_xattr()
4477 int ret; in __process_changed_new_xattr() local
4482 ret = find_xattr(sctx->parent_root, sctx->right_path, in __process_changed_new_xattr()
4485 if (ret == -ENOENT) { in __process_changed_new_xattr()
4486 ret = __process_new_xattr(num, di_key, name, name_len, data, in __process_changed_new_xattr()
4488 } else if (ret >= 0) { in __process_changed_new_xattr()
4491 ret = __process_new_xattr(num, di_key, name, name_len, in __process_changed_new_xattr()
4494 ret = 0; in __process_changed_new_xattr()
4499 return ret; in __process_changed_new_xattr()
4507 int ret; in __process_changed_deleted_xattr() local
4510 ret = find_xattr(sctx->send_root, sctx->left_path, sctx->cmp_key, in __process_changed_deleted_xattr()
4512 if (ret == -ENOENT) in __process_changed_deleted_xattr()
4513 ret = __process_deleted_xattr(num, di_key, name, name_len, data, in __process_changed_deleted_xattr()
4515 else if (ret >= 0) in __process_changed_deleted_xattr()
4516 ret = 0; in __process_changed_deleted_xattr()
4518 return ret; in __process_changed_deleted_xattr()
4523 int ret = 0; in process_changed_xattr() local
4525 ret = iterate_dir_item(sctx->send_root, sctx->left_path, in process_changed_xattr()
4527 if (ret < 0) in process_changed_xattr()
4529 ret = iterate_dir_item(sctx->parent_root, sctx->right_path, in process_changed_xattr()
4533 return ret; in process_changed_xattr()
4538 int ret; in process_all_new_xattrs() local
4555 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in process_all_new_xattrs()
4556 if (ret < 0) in process_all_new_xattrs()
4563 ret = btrfs_next_leaf(root, path); in process_all_new_xattrs()
4564 if (ret < 0) { in process_all_new_xattrs()
4566 } else if (ret > 0) { in process_all_new_xattrs()
4567 ret = 0; in process_all_new_xattrs()
4576 ret = 0; in process_all_new_xattrs()
4580 ret = iterate_dir_item(root, path, &found_key, in process_all_new_xattrs()
4582 if (ret < 0) in process_all_new_xattrs()
4590 return ret; in process_all_new_xattrs()
4604 ssize_t ret = 0; in fill_read_buf() local
4636 ret = -ENOMEM; in fill_read_buf()
4646 ret = -EIO; in fill_read_buf()
4652 memcpy(sctx->read_buf + ret, addr + pg_offset, cur_len); in fill_read_buf()
4659 ret += cur_len; in fill_read_buf()
4663 return ret; in fill_read_buf()
4673 int ret = 0; in send_write() local
4686 ret = num_read; in send_write()
4690 ret = begin_cmd(sctx, BTRFS_SEND_C_WRITE); in send_write()
4691 if (ret < 0) in send_write()
4694 ret = get_cur_path(sctx, sctx->cur_ino, sctx->cur_inode_gen, p); in send_write()
4695 if (ret < 0) in send_write()
4702 ret = send_cmd(sctx); in send_write()
4707 if (ret < 0) in send_write()
4708 return ret; in send_write()
4719 int ret = 0; in send_clone() local
4732 ret = begin_cmd(sctx, BTRFS_SEND_C_CLONE); in send_clone()
4733 if (ret < 0) in send_clone()
4736 ret = get_cur_path(sctx, sctx->cur_ino, sctx->cur_inode_gen, p); in send_clone()
4737 if (ret < 0) in send_clone()
4745 ret = get_inode_info(sctx->send_root, clone_root->ino, NULL, in send_clone()
4747 if (ret < 0) in send_clone()
4749 ret = get_cur_path(sctx, clone_root->ino, gen, p); in send_clone()
4751 ret = get_inode_path(clone_root->root, clone_root->ino, p); in send_clone()
4753 if (ret < 0) in send_clone()
4777 ret = send_cmd(sctx); in send_clone()
4782 return ret; in send_clone()
4791 int ret = 0; in send_update_extent() local
4798 ret = begin_cmd(sctx, BTRFS_SEND_C_UPDATE_EXTENT); in send_update_extent()
4799 if (ret < 0) in send_update_extent()
4802 ret = get_cur_path(sctx, sctx->cur_ino, sctx->cur_inode_gen, p); in send_update_extent()
4803 if (ret < 0) in send_update_extent()
4810 ret = send_cmd(sctx); in send_update_extent()
4815 return ret; in send_update_extent()
4823 int ret = 0; in send_hole() local
4828 ret = get_cur_path(sctx, sctx->cur_ino, sctx->cur_inode_gen, p); in send_hole()
4829 if (ret < 0) in send_hole()
4835 ret = begin_cmd(sctx, BTRFS_SEND_C_WRITE); in send_hole()
4836 if (ret < 0) in send_hole()
4841 ret = send_cmd(sctx); in send_hole()
4842 if (ret < 0) in send_hole()
4848 return ret; in send_hole()
4862 int ret; in send_extent_data() local
4866 ret = send_write(sctx, offset + sent, size); in send_extent_data()
4867 if (ret < 0) in send_extent_data()
4868 return ret; in send_extent_data()
4869 if (!ret) in send_extent_data()
4871 sent += ret; in send_extent_data()
4885 int ret; in clone_range() local
4916 ret = btrfs_search_slot(NULL, clone_root->root, &key, path, 0, 0); in clone_range()
4917 if (ret < 0) in clone_range()
4919 if (ret > 0 && path->slots[0] > 0) { in clone_range()
4935 ret = btrfs_next_leaf(clone_root->root, path); in clone_range()
4936 if (ret < 0) in clone_range()
4938 else if (ret > 0) in clone_range()
4971 ret = send_extent_data(sctx, offset, hole_len); in clone_range()
4972 if (ret < 0) in clone_range()
4990 ret = send_clone(sctx, offset, clone_len, clone_root); in clone_range()
4992 ret = send_extent_data(sctx, offset, clone_len); in clone_range()
4994 if (ret < 0) in clone_range()
5008 ret = send_extent_data(sctx, offset, len); in clone_range()
5010 ret = 0; in clone_range()
5013 return ret; in clone_range()
5021 int ret = 0; in send_write_or_clone() local
5047 ret = 0; in send_write_or_clone()
5057 ret = clone_range(sctx, clone_root, disk_byte, data_offset, in send_write_or_clone()
5060 ret = send_extent_data(sctx, offset, len); in send_write_or_clone()
5063 return ret; in send_write_or_clone()
5070 int ret = 0; in is_extent_unchanged() local
5099 ret = 0; in is_extent_unchanged()
5131 ret = btrfs_search_slot_for_read(sctx->parent_root, &key, path, 0, 0); in is_extent_unchanged()
5132 if (ret < 0) in is_extent_unchanged()
5134 if (ret) { in is_extent_unchanged()
5135 ret = 0; in is_extent_unchanged()
5148 ret = (left_disknr) ? 0 : 1; in is_extent_unchanged()
5161 ret = 0; in is_extent_unchanged()
5181 ret = (left_disknr) ? 0 : 1; in is_extent_unchanged()
5194 ret = 0; in is_extent_unchanged()
5213 ret = 0; in is_extent_unchanged()
5220 ret = btrfs_next_item(sctx->parent_root, path); in is_extent_unchanged()
5221 if (ret < 0) in is_extent_unchanged()
5223 if (!ret) { in is_extent_unchanged()
5228 if (ret || found_key.objectid != key.objectid || in is_extent_unchanged()
5234 ret = 0; in is_extent_unchanged()
5245 ret = 1; in is_extent_unchanged()
5247 ret = 0; in is_extent_unchanged()
5252 return ret; in is_extent_unchanged()
5263 int ret; in get_last_extent() local
5274 ret = btrfs_search_slot_for_read(root, &key, path, 0, 1); in get_last_extent()
5275 if (ret < 0) in get_last_extent()
5277 ret = 0; in get_last_extent()
5297 return ret; in get_last_extent()
5306 int ret = 0; in maybe_send_hole() local
5312 ret = get_last_extent(sctx, key->offset - 1); in maybe_send_hole()
5313 if (ret) in maybe_send_hole()
5314 return ret; in maybe_send_hole()
5339 ret = get_last_extent(sctx, key->offset - 1); in maybe_send_hole()
5340 if (ret) in maybe_send_hole()
5341 return ret; in maybe_send_hole()
5345 ret = send_hole(sctx, key->offset); in maybe_send_hole()
5347 return ret; in maybe_send_hole()
5355 int ret = 0; in process_extent() local
5361 ret = is_extent_unchanged(sctx, path, key); in process_extent()
5362 if (ret < 0) in process_extent()
5364 if (ret) { in process_extent()
5365 ret = 0; in process_extent()
5384 ret = 0; in process_extent()
5390 ret = 0; in process_extent()
5396 ret = find_extent_clone(sctx, path, key->objectid, key->offset, in process_extent()
5398 if (ret != -ENOENT && ret < 0) in process_extent()
5401 ret = send_write_or_clone(sctx, path, key, found_clone); in process_extent()
5402 if (ret) in process_extent()
5405 ret = maybe_send_hole(sctx, path, key); in process_extent()
5407 return ret; in process_extent()
5412 int ret; in process_all_extents() local
5428 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in process_all_extents()
5429 if (ret < 0) in process_all_extents()
5437 ret = btrfs_next_leaf(root, path); in process_all_extents()
5438 if (ret < 0) { in process_all_extents()
5440 } else if (ret > 0) { in process_all_extents()
5441 ret = 0; in process_all_extents()
5451 ret = 0; in process_all_extents()
5455 ret = process_extent(sctx, path, &found_key); in process_all_extents()
5456 if (ret < 0) in process_all_extents()
5464 return ret; in process_all_extents()
5471 int ret = 0; in process_recorded_refs_if_needed() local
5481 ret = process_recorded_refs(sctx, pending_move); in process_recorded_refs_if_needed()
5482 if (ret < 0) in process_recorded_refs_if_needed()
5487 return ret; in process_recorded_refs_if_needed()
5492 int ret = 0; in finish_inode_if_needed() local
5504 ret = process_recorded_refs_if_needed(sctx, at_end, &pending_move, in finish_inode_if_needed()
5506 if (ret < 0) in finish_inode_if_needed()
5529 ret = get_inode_info(sctx->send_root, sctx->cur_ino, NULL, NULL, in finish_inode_if_needed()
5531 if (ret < 0) in finish_inode_if_needed()
5539 ret = get_inode_info(sctx->parent_root, sctx->cur_ino, in finish_inode_if_needed()
5542 if (ret < 0) in finish_inode_if_needed()
5556 ret = get_last_extent(sctx, (u64)-1); in finish_inode_if_needed()
5557 if (ret) in finish_inode_if_needed()
5562 ret = send_hole(sctx, sctx->cur_inode_size); in finish_inode_if_needed()
5563 if (ret) in finish_inode_if_needed()
5567 ret = send_truncate(sctx, sctx->cur_ino, sctx->cur_inode_gen, in finish_inode_if_needed()
5569 if (ret < 0) in finish_inode_if_needed()
5574 ret = send_chown(sctx, sctx->cur_ino, sctx->cur_inode_gen, in finish_inode_if_needed()
5576 if (ret < 0) in finish_inode_if_needed()
5580 ret = send_chmod(sctx, sctx->cur_ino, sctx->cur_inode_gen, in finish_inode_if_needed()
5582 if (ret < 0) in finish_inode_if_needed()
5591 ret = apply_children_dir_moves(sctx); in finish_inode_if_needed()
5592 if (ret) in finish_inode_if_needed()
5602 ret = send_utimes(sctx, sctx->cur_ino, sctx->cur_inode_gen); in finish_inode_if_needed()
5603 if (ret < 0) in finish_inode_if_needed()
5608 return ret; in finish_inode_if_needed()
5614 int ret = 0; in changed_inode() local
5675 ret = send_create_inode_if_needed(sctx); in changed_inode()
5703 ret = process_all_refs(sctx, in changed_inode()
5705 if (ret < 0) in changed_inode()
5720 ret = send_create_inode_if_needed(sctx); in changed_inode()
5721 if (ret < 0) in changed_inode()
5724 ret = process_all_refs(sctx, BTRFS_COMPARE_TREE_NEW); in changed_inode()
5725 if (ret < 0) in changed_inode()
5737 ret = process_all_extents(sctx); in changed_inode()
5738 if (ret < 0) in changed_inode()
5740 ret = process_all_new_xattrs(sctx); in changed_inode()
5741 if (ret < 0) in changed_inode()
5756 return ret; in changed_inode()
5772 int ret = 0; in changed_ref() local
5782 ret = record_new_ref(sctx); in changed_ref()
5784 ret = record_deleted_ref(sctx); in changed_ref()
5786 ret = record_changed_ref(sctx); in changed_ref()
5789 return ret; in changed_ref()
5800 int ret = 0; in changed_xattr() local
5809 ret = process_new_xattr(sctx); in changed_xattr()
5811 ret = process_deleted_xattr(sctx); in changed_xattr()
5813 ret = process_changed_xattr(sctx); in changed_xattr()
5816 return ret; in changed_xattr()
5827 int ret = 0; in changed_extent() local
5894 ret = process_extent(sctx, sctx->left_path, in changed_extent()
5898 return ret; in changed_extent()
5904 int ret; in dir_changed() local
5906 ret = get_inode_info(sctx->send_root, dir, NULL, &new_gen, NULL, NULL, in dir_changed()
5908 if (ret) in dir_changed()
5909 return ret; in dir_changed()
5911 ret = get_inode_info(sctx->parent_root, dir, NULL, &orig_gen, NULL, in dir_changed()
5913 if (ret) in dir_changed()
5914 return ret; in dir_changed()
5929 int ret = 0; in compare_refs() local
5935 ret = dir_changed(sctx, dirid); in compare_refs()
5950 ret = dir_changed(sctx, dirid); in compare_refs()
5951 if (ret) in compare_refs()
5956 return ret; in compare_refs()
5971 int ret = 0; in changed_cb() local
5977 ret = compare_refs(sctx, left_path, key); in changed_cb()
5978 if (!ret) in changed_cb()
5980 if (ret < 0) in changed_cb()
5981 return ret; in changed_cb()
5988 ret = 0; in changed_cb()
5995 ret = finish_inode_if_needed(sctx, 0); in changed_cb()
5996 if (ret < 0) in changed_cb()
6005 ret = changed_inode(sctx, result); in changed_cb()
6008 ret = changed_ref(sctx, result); in changed_cb()
6010 ret = changed_xattr(sctx, result); in changed_cb()
6012 ret = changed_extent(sctx, result); in changed_cb()
6015 return ret; in changed_cb()
6020 int ret; in full_send_tree() local
6036 ret = btrfs_search_slot_for_read(send_root, &key, path, 1, 0); in full_send_tree()
6037 if (ret < 0) in full_send_tree()
6039 if (ret) in full_send_tree()
6047 ret = changed_cb(send_root, NULL, path, NULL, in full_send_tree()
6049 if (ret < 0) in full_send_tree()
6056 ret = btrfs_next_item(send_root, path); in full_send_tree()
6057 if (ret < 0) in full_send_tree()
6059 if (ret) { in full_send_tree()
6060 ret = 0; in full_send_tree()
6066 ret = finish_inode_if_needed(sctx, 1); in full_send_tree()
6070 return ret; in full_send_tree()
6075 int ret; in send_subvol() local
6078 ret = send_header(sctx); in send_subvol()
6079 if (ret < 0) in send_subvol()
6083 ret = send_subvol_begin(sctx); in send_subvol()
6084 if (ret < 0) in send_subvol()
6088 ret = btrfs_compare_trees(sctx->send_root, sctx->parent_root, in send_subvol()
6090 if (ret < 0) in send_subvol()
6092 ret = finish_inode_if_needed(sctx, 1); in send_subvol()
6093 if (ret < 0) in send_subvol()
6096 ret = full_send_tree(sctx); in send_subvol()
6097 if (ret < 0) in send_subvol()
6103 return ret; in send_subvol()
6168 int ret = 0; in btrfs_ioctl_send() local
6207 ret = -EPERM; in btrfs_ioctl_send()
6213 ret = PTR_ERR(arg); in btrfs_ioctl_send()
6225 ret = -EINVAL; in btrfs_ioctl_send()
6232 ret = -EFAULT; in btrfs_ioctl_send()
6237 ret = -EINVAL; in btrfs_ioctl_send()
6243 ret = -ENOMEM; in btrfs_ioctl_send()
6256 ret = -EBADF; in btrfs_ioctl_send()
6266 ret = -EPERM; in btrfs_ioctl_send()
6277 ret = -ENOMEM; in btrfs_ioctl_send()
6286 ret = -ENOMEM; in btrfs_ioctl_send()
6301 ret = -ENOMEM; in btrfs_ioctl_send()
6313 ret = -ENOMEM; in btrfs_ioctl_send()
6318 ret = copy_from_user(clone_sources_tmp, arg->clone_sources, in btrfs_ioctl_send()
6320 if (ret) { in btrfs_ioctl_send()
6321 ret = -EFAULT; in btrfs_ioctl_send()
6335 ret = PTR_ERR(clone_root); in btrfs_ioctl_send()
6343 ret = -EPERM; in btrfs_ioctl_send()
6367 ret = PTR_ERR(sctx->parent_root); in btrfs_ioctl_send()
6377 ret = -EPERM; in btrfs_ioctl_send()
6398 ret = ensure_commit_roots_uptodate(sctx); in btrfs_ioctl_send()
6399 if (ret) in btrfs_ioctl_send()
6403 ret = send_subvol(sctx); in btrfs_ioctl_send()
6405 if (ret < 0) in btrfs_ioctl_send()
6409 ret = begin_cmd(sctx, BTRFS_SEND_C_END); in btrfs_ioctl_send()
6410 if (ret < 0) in btrfs_ioctl_send()
6412 ret = send_cmd(sctx); in btrfs_ioctl_send()
6413 if (ret < 0) in btrfs_ioctl_send()
6418 WARN_ON(sctx && !ret && !RB_EMPTY_ROOT(&sctx->pending_dir_moves)); in btrfs_ioctl_send()
6435 WARN_ON(sctx && !ret && !RB_EMPTY_ROOT(&sctx->waiting_dir_moves)); in btrfs_ioctl_send()
6446 WARN_ON(sctx && !ret && !RB_EMPTY_ROOT(&sctx->orphan_dirs)); in btrfs_ioctl_send()
6486 return ret; in btrfs_ioctl_send()