Lines Matching refs:ret
194 int ret; in btrfs_ioctl_setflags() local
207 ret = check_fsflags(fsflags); in btrfs_ioctl_setflags()
208 if (ret) in btrfs_ioctl_setflags()
209 return ret; in btrfs_ioctl_setflags()
211 ret = mnt_want_write_file(file); in btrfs_ioctl_setflags()
212 if (ret) in btrfs_ioctl_setflags()
213 return ret; in btrfs_ioctl_setflags()
219 ret = vfs_ioc_setflags_prepare(inode, old_fsflags, fsflags); in btrfs_ioctl_setflags()
220 if (ret) in btrfs_ioctl_setflags()
284 ret = -ETXTBSY; in btrfs_ioctl_setflags()
304 ret = PTR_ERR(trans); in btrfs_ioctl_setflags()
309 ret = btrfs_set_prop(trans, inode, "btrfs.compression", comp, in btrfs_ioctl_setflags()
311 if (ret) { in btrfs_ioctl_setflags()
312 btrfs_abort_transaction(trans, ret); in btrfs_ioctl_setflags()
316 ret = btrfs_set_prop(trans, inode, "btrfs.compression", NULL, in btrfs_ioctl_setflags()
318 if (ret && ret != -ENODATA) { in btrfs_ioctl_setflags()
319 btrfs_abort_transaction(trans, ret); in btrfs_ioctl_setflags()
328 ret = btrfs_update_inode(trans, root, inode); in btrfs_ioctl_setflags()
335 return ret; in btrfs_ioctl_setflags()
395 int ret = 0; in btrfs_ioctl_fssetxattr() local
406 ret = check_xflags(fa.fsx_xflags); in btrfs_ioctl_fssetxattr()
407 if (ret) in btrfs_ioctl_fssetxattr()
408 return ret; in btrfs_ioctl_fssetxattr()
413 ret = mnt_want_write_file(file); in btrfs_ioctl_fssetxattr()
414 if (ret) in btrfs_ioctl_fssetxattr()
415 return ret; in btrfs_ioctl_fssetxattr()
424 ret = vfs_ioc_fssetxattr_check(inode, &old_fa, &fa); in btrfs_ioctl_fssetxattr()
425 if (ret) in btrfs_ioctl_fssetxattr()
452 ret = PTR_ERR(trans); in btrfs_ioctl_fssetxattr()
459 ret = btrfs_update_inode(trans, root, inode); in btrfs_ioctl_fssetxattr()
464 if (ret) { in btrfs_ioctl_fssetxattr()
472 return ret; in btrfs_ioctl_fssetxattr()
491 int ret; in btrfs_ioctl_fitrim() local
534 ret = btrfs_trim_fs(fs_info, &range); in btrfs_ioctl_fitrim()
535 if (ret < 0) in btrfs_ioctl_fitrim()
536 return ret; in btrfs_ioctl_fitrim()
572 int ret; in create_subvol() local
583 ret = btrfs_find_free_objectid(fs_info->tree_root, &objectid); in create_subvol()
584 if (ret) in create_subvol()
592 ret = -ENOSPC; in create_subvol()
601 ret = btrfs_subvolume_reserve_metadata(root, &block_rsv, 8, false); in create_subvol()
602 if (ret) in create_subvol()
607 ret = PTR_ERR(trans); in create_subvol()
614 ret = btrfs_qgroup_inherit(trans, 0, objectid, inherit); in create_subvol()
615 if (ret) in create_subvol()
620 ret = PTR_ERR(leaf); in create_subvol()
664 ret = btrfs_insert_root(trans, fs_info->tree_root, &key, in create_subvol()
666 if (ret) in create_subvol()
672 ret = PTR_ERR(new_root); in create_subvol()
673 btrfs_abort_transaction(trans, ret); in create_subvol()
679 ret = btrfs_create_subvol_root(trans, new_root, root, new_dirid); in create_subvol()
680 if (ret) { in create_subvol()
682 btrfs_abort_transaction(trans, ret); in create_subvol()
693 ret = btrfs_set_inode_index(BTRFS_I(dir), &index); in create_subvol()
694 if (ret) { in create_subvol()
695 btrfs_abort_transaction(trans, ret); in create_subvol()
699 ret = btrfs_insert_dir_item(trans, name, namelen, BTRFS_I(dir), &key, in create_subvol()
701 if (ret) { in create_subvol()
702 btrfs_abort_transaction(trans, ret); in create_subvol()
707 ret = btrfs_update_inode(trans, root, dir); in create_subvol()
708 if (ret) { in create_subvol()
709 btrfs_abort_transaction(trans, ret); in create_subvol()
713 ret = btrfs_add_root_ref(trans, objectid, root->root_key.objectid, in create_subvol()
715 if (ret) { in create_subvol()
716 btrfs_abort_transaction(trans, ret); in create_subvol()
720 ret = btrfs_uuid_tree_add(trans, root_item->uuid, in create_subvol()
722 if (ret) in create_subvol()
723 btrfs_abort_transaction(trans, ret); in create_subvol()
739 if (err && !ret) in create_subvol()
740 ret = err; in create_subvol()
742 if (!ret) { in create_subvol()
748 return ret; in create_subvol()
752 return ret; in create_subvol()
764 int ret; in create_snapshot() local
784 ret = -ENOMEM; in create_snapshot()
799 ret = btrfs_start_delalloc_snapshot(root); in create_snapshot()
800 if (ret) in create_snapshot()
823 ret = btrfs_subvolume_reserve_metadata(BTRFS_I(dir)->root, in create_snapshot()
826 if (ret) in create_snapshot()
837 ret = PTR_ERR(trans); in create_snapshot()
847 ret = btrfs_commit_transaction_async(trans, 1); in create_snapshot()
848 if (ret) in create_snapshot()
849 ret = btrfs_commit_transaction(trans); in create_snapshot()
851 ret = btrfs_commit_transaction(trans); in create_snapshot()
853 if (ret) in create_snapshot()
856 ret = pending_snapshot->error; in create_snapshot()
857 if (ret) in create_snapshot()
860 ret = btrfs_orphan_cleanup(pending_snapshot->snap); in create_snapshot()
861 if (ret) in create_snapshot()
866 ret = PTR_ERR(inode); in create_snapshot()
871 ret = 0; in create_snapshot()
884 return ret; in create_snapshot()
1060 int ret; in find_new_extents() local
1072 ret = btrfs_search_forward(root, &min_key, path, newer_than); in find_new_extents()
1073 if (ret != 0) in find_new_extents()
1145 bool ret = true; in defrag_check_next_extent() local
1153 ret = false; in defrag_check_next_extent()
1156 ret = false; in defrag_check_next_extent()
1159 return ret; in defrag_check_next_extent()
1167 int ret = 1; in should_defrag_range() local
1186 ret = 0; in should_defrag_range()
1200 ret = 0; in should_defrag_range()
1210 if (ret) { in should_defrag_range()
1219 return ret; in should_defrag_range()
1244 int ret; in cluster_pages_for_defrag() local
1259 ret = btrfs_delalloc_reserve_space(inode, &data_reserved, in cluster_pages_for_defrag()
1262 if (ret) in cluster_pages_for_defrag()
1263 return ret; in cluster_pages_for_defrag()
1309 ret = -EIO; in cluster_pages_for_defrag()
1323 if (!i_done || ret) in cluster_pages_for_defrag()
1382 return ret; in cluster_pages_for_defrag()
1401 int ret; in btrfs_defrag_file() local
1442 ret = -ENOMEM; in btrfs_defrag_file()
1455 ret = find_new_extents(root, inode, newer_than, in btrfs_defrag_file()
1457 if (!ret) { in btrfs_defrag_file()
1490 ret = -EAGAIN; in btrfs_defrag_file()
1525 ret = -ETXTBSY; in btrfs_defrag_file()
1529 ret = cluster_pages_for_defrag(inode, pages, i, cluster); in btrfs_defrag_file()
1531 if (ret < 0) { in btrfs_defrag_file()
1536 defrag_count += ret; in btrfs_defrag_file()
1544 if (ret > 0) in btrfs_defrag_file()
1545 i += ret; in btrfs_defrag_file()
1550 ret = find_new_extents(root, inode, newer_than, in btrfs_defrag_file()
1552 if (!ret) { in btrfs_defrag_file()
1559 if (ret > 0) { in btrfs_defrag_file()
1560 i += ret; in btrfs_defrag_file()
1561 last_len += ret << PAGE_SHIFT; in btrfs_defrag_file()
1582 ret = defrag_count; in btrfs_defrag_file()
1593 return ret; in btrfs_defrag_file()
1611 int ret = 0; in btrfs_ioctl_resize() local
1617 ret = mnt_want_write_file(file); in btrfs_ioctl_resize()
1618 if (ret) in btrfs_ioctl_resize()
1619 return ret; in btrfs_ioctl_resize()
1628 ret = PTR_ERR(vol_args); in btrfs_ioctl_resize()
1640 ret = kstrtoull(devstr, 10, &devid); in btrfs_ioctl_resize()
1641 if (ret) in btrfs_ioctl_resize()
1644 ret = -EINVAL; in btrfs_ioctl_resize()
1654 ret = -ENODEV; in btrfs_ioctl_resize()
1662 ret = -EPERM; in btrfs_ioctl_resize()
1678 ret = -EINVAL; in btrfs_ioctl_resize()
1684 ret = -EPERM; in btrfs_ioctl_resize()
1692 ret = -EINVAL; in btrfs_ioctl_resize()
1698 ret = -ERANGE; in btrfs_ioctl_resize()
1705 ret = -EINVAL; in btrfs_ioctl_resize()
1709 ret = -EFBIG; in btrfs_ioctl_resize()
1721 ret = PTR_ERR(trans); in btrfs_ioctl_resize()
1724 ret = btrfs_grow_device(trans, device, new_size); in btrfs_ioctl_resize()
1727 ret = btrfs_shrink_device(device, new_size); in btrfs_ioctl_resize()
1735 return ret; in btrfs_ioctl_resize()
1744 int ret = 0; in btrfs_ioctl_snap_create_transid() local
1749 ret = mnt_want_write_file(file); in btrfs_ioctl_snap_create_transid()
1750 if (ret) in btrfs_ioctl_snap_create_transid()
1755 ret = -EINVAL; in btrfs_ioctl_snap_create_transid()
1761 ret = -EEXIST; in btrfs_ioctl_snap_create_transid()
1766 ret = btrfs_mksubvol(&file->f_path, name, namelen, in btrfs_ioctl_snap_create_transid()
1772 ret = -EINVAL; in btrfs_ioctl_snap_create_transid()
1780 ret = -EXDEV; in btrfs_ioctl_snap_create_transid()
1786 ret = -EPERM; in btrfs_ioctl_snap_create_transid()
1788 ret = btrfs_mksubvol(&file->f_path, name, namelen, in btrfs_ioctl_snap_create_transid()
1797 return ret; in btrfs_ioctl_snap_create_transid()
1804 int ret; in btrfs_ioctl_snap_create() local
1814 ret = btrfs_ioctl_snap_create_transid(file, vol_args->name, in btrfs_ioctl_snap_create()
1819 return ret; in btrfs_ioctl_snap_create()
1826 int ret; in btrfs_ioctl_snap_create_v2() local
1843 ret = -EOPNOTSUPP; in btrfs_ioctl_snap_create_v2()
1860 ret = -EINVAL; in btrfs_ioctl_snap_create_v2()
1865 ret = PTR_ERR(inherit); in btrfs_ioctl_snap_create_v2()
1870 ret = btrfs_ioctl_snap_create_transid(file, vol_args->name, in btrfs_ioctl_snap_create_v2()
1873 if (ret) in btrfs_ioctl_snap_create_v2()
1880 ret = -EFAULT; in btrfs_ioctl_snap_create_v2()
1886 return ret; in btrfs_ioctl_snap_create_v2()
1895 int ret = 0; in btrfs_ioctl_subvol_getflags() local
1907 ret = -EFAULT; in btrfs_ioctl_subvol_getflags()
1909 return ret; in btrfs_ioctl_subvol_getflags()
1921 int ret = 0; in btrfs_ioctl_subvol_setflags() local
1926 ret = mnt_want_write_file(file); in btrfs_ioctl_subvol_setflags()
1927 if (ret) in btrfs_ioctl_subvol_setflags()
1931 ret = -EINVAL; in btrfs_ioctl_subvol_setflags()
1936 ret = -EFAULT; in btrfs_ioctl_subvol_setflags()
1941 ret = -EINVAL; in btrfs_ioctl_subvol_setflags()
1946 ret = -EOPNOTSUPP; in btrfs_ioctl_subvol_setflags()
1975 ret = -EPERM; in btrfs_ioctl_subvol_setflags()
1982 ret = PTR_ERR(trans); in btrfs_ioctl_subvol_setflags()
1986 ret = btrfs_update_root(trans, fs_info->tree_root, in btrfs_ioctl_subvol_setflags()
1988 if (ret < 0) { in btrfs_ioctl_subvol_setflags()
1993 ret = btrfs_commit_transaction(trans); in btrfs_ioctl_subvol_setflags()
1996 if (ret) in btrfs_ioctl_subvol_setflags()
2003 return ret; in btrfs_ioctl_subvol_setflags()
2010 int ret; in key_in_sk() local
2016 ret = btrfs_comp_cpu_keys(key, &test); in key_in_sk()
2017 if (ret < 0) in key_in_sk()
2024 ret = btrfs_comp_cpu_keys(key, &test); in key_in_sk()
2025 if (ret > 0) in key_in_sk()
2047 int ret = 0; in copy_to_sk() local
2069 ret = 1; in copy_to_sk()
2080 ret = -EOVERFLOW; in copy_to_sk()
2084 ret = 1; in copy_to_sk()
2096 ret = -EFAULT; in copy_to_sk()
2107 ret = -EFAULT; in copy_to_sk()
2115 if (ret) /* -EOVERFLOW from above */ in copy_to_sk()
2119 ret = 1; in copy_to_sk()
2124 ret = 0; in copy_to_sk()
2129 ret = 1; in copy_to_sk()
2140 ret = 1; in copy_to_sk()
2151 return ret; in copy_to_sk()
2163 int ret; in search_ioctl() local
2195 ret = btrfs_search_forward(root, &key, path, sk->min_transid); in search_ioctl()
2196 if (ret != 0) { in search_ioctl()
2197 if (ret > 0) in search_ioctl()
2198 ret = 0; in search_ioctl()
2201 ret = copy_to_sk(path, &key, sk, buf_size, ubuf, in search_ioctl()
2204 if (ret) in search_ioctl()
2208 if (ret > 0) in search_ioctl()
2209 ret = 0; in search_ioctl()
2213 return ret; in search_ioctl()
2222 int ret; in btrfs_ioctl_tree_search() local
2236 ret = search_ioctl(inode, &sk, &buf_size, uargs->buf); in btrfs_ioctl_tree_search()
2242 if (ret == -EOVERFLOW) in btrfs_ioctl_tree_search()
2243 ret = 0; in btrfs_ioctl_tree_search()
2245 if (ret == 0 && copy_to_user(&uargs->key, &sk, sizeof(sk))) in btrfs_ioctl_tree_search()
2246 ret = -EFAULT; in btrfs_ioctl_tree_search()
2247 return ret; in btrfs_ioctl_tree_search()
2256 int ret; in btrfs_ioctl_tree_search_v2() local
2275 ret = search_ioctl(inode, &args.key, &buf_size, in btrfs_ioctl_tree_search_v2()
2277 if (ret == 0 && copy_to_user(&uarg->key, &args.key, sizeof(args.key))) in btrfs_ioctl_tree_search_v2()
2278 ret = -EFAULT; in btrfs_ioctl_tree_search_v2()
2279 else if (ret == -EOVERFLOW && in btrfs_ioctl_tree_search_v2()
2281 ret = -EFAULT; in btrfs_ioctl_tree_search_v2()
2283 return ret; in btrfs_ioctl_tree_search_v2()
2296 int ret = -1; in btrfs_search_path_in_tree() local
2320 ret = PTR_ERR(root); in btrfs_search_path_in_tree()
2329 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_search_path_in_tree()
2330 if (ret < 0) in btrfs_search_path_in_tree()
2332 else if (ret > 0) { in btrfs_search_path_in_tree()
2333 ret = btrfs_previous_item(root, path, dirid, in btrfs_search_path_in_tree()
2335 if (ret < 0) in btrfs_search_path_in_tree()
2337 else if (ret > 0) { in btrfs_search_path_in_tree()
2338 ret = -ENOENT; in btrfs_search_path_in_tree()
2352 ret = -ENAMETOOLONG; in btrfs_search_path_in_tree()
2369 ret = 0; in btrfs_search_path_in_tree()
2372 return ret; in btrfs_search_path_in_tree()
2396 int ret; in btrfs_search_path_in_tree_user() local
2414 ret = PTR_ERR(root); in btrfs_search_path_in_tree_user()
2422 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_search_path_in_tree_user()
2423 if (ret < 0) { in btrfs_search_path_in_tree_user()
2425 } else if (ret > 0) { in btrfs_search_path_in_tree_user()
2426 ret = btrfs_previous_item(root, path, dirid, in btrfs_search_path_in_tree_user()
2428 if (ret < 0) { in btrfs_search_path_in_tree_user()
2430 } else if (ret > 0) { in btrfs_search_path_in_tree_user()
2431 ret = -ENOENT; in btrfs_search_path_in_tree_user()
2445 ret = -ENAMETOOLONG; in btrfs_search_path_in_tree_user()
2454 ret = btrfs_previous_item(root, path, dirid, in btrfs_search_path_in_tree_user()
2456 if (ret < 0) { in btrfs_search_path_in_tree_user()
2458 } else if (ret > 0) { in btrfs_search_path_in_tree_user()
2459 ret = -ENOENT; in btrfs_search_path_in_tree_user()
2467 ret = -ENOENT; in btrfs_search_path_in_tree_user()
2473 ret = PTR_ERR(temp_inode); in btrfs_search_path_in_tree_user()
2476 ret = inode_permission(temp_inode, MAY_READ | MAY_EXEC); in btrfs_search_path_in_tree_user()
2478 if (ret) { in btrfs_search_path_in_tree_user()
2479 ret = -EACCES; in btrfs_search_path_in_tree_user()
2486 ret = -EACCES; in btrfs_search_path_in_tree_user()
2506 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_search_path_in_tree_user()
2507 if (ret < 0) { in btrfs_search_path_in_tree_user()
2509 } else if (ret > 0) { in btrfs_search_path_in_tree_user()
2510 ret = -ENOENT; in btrfs_search_path_in_tree_user()
2523 ret = -EINVAL; in btrfs_search_path_in_tree_user()
2535 return ret; in btrfs_search_path_in_tree_user()
2543 int ret = 0; in btrfs_ioctl_ino_lookup() local
2564 ret = -EPERM; in btrfs_ioctl_ino_lookup()
2568 ret = btrfs_search_path_in_tree(BTRFS_I(inode)->root->fs_info, in btrfs_ioctl_ino_lookup()
2573 if (ret == 0 && copy_to_user(argp, args, sizeof(*args))) in btrfs_ioctl_ino_lookup()
2574 ret = -EFAULT; in btrfs_ioctl_ino_lookup()
2577 return ret; in btrfs_ioctl_ino_lookup()
2596 int ret; in btrfs_ioctl_ino_lookup_user() local
2614 ret = btrfs_search_path_in_tree_user(inode, args); in btrfs_ioctl_ino_lookup_user()
2616 if (ret == 0 && copy_to_user(argp, args, sizeof(*args))) in btrfs_ioctl_ino_lookup_user()
2617 ret = -EFAULT; in btrfs_ioctl_ino_lookup_user()
2620 return ret; in btrfs_ioctl_ino_lookup_user()
2638 int ret = 0; in btrfs_ioctl_get_subvol_info() local
2659 ret = PTR_ERR(root); in btrfs_ioctl_get_subvol_info()
2697 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_ioctl_get_subvol_info()
2698 if (ret < 0) { in btrfs_ioctl_get_subvol_info()
2702 ret = btrfs_next_leaf(root, path); in btrfs_ioctl_get_subvol_info()
2703 if (ret < 0) { in btrfs_ioctl_get_subvol_info()
2705 } else if (ret > 0) { in btrfs_ioctl_get_subvol_info()
2706 ret = -EUCLEAN; in btrfs_ioctl_get_subvol_info()
2728 ret = -ENOENT; in btrfs_ioctl_get_subvol_info()
2734 ret = -EFAULT; in btrfs_ioctl_get_subvol_info()
2739 return ret; in btrfs_ioctl_get_subvol_info()
2757 int ret; in btrfs_ioctl_get_subvol_rootref() local
2779 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_ioctl_get_subvol_rootref()
2780 if (ret < 0) { in btrfs_ioctl_get_subvol_rootref()
2784 ret = btrfs_next_leaf(root, path); in btrfs_ioctl_get_subvol_rootref()
2785 if (ret < 0) { in btrfs_ioctl_get_subvol_rootref()
2787 } else if (ret > 0) { in btrfs_ioctl_get_subvol_rootref()
2788 ret = -EUCLEAN; in btrfs_ioctl_get_subvol_rootref()
2798 ret = 0; in btrfs_ioctl_get_subvol_rootref()
2803 ret = -EOVERFLOW; in btrfs_ioctl_get_subvol_rootref()
2813 ret = btrfs_next_item(root, path); in btrfs_ioctl_get_subvol_rootref()
2814 if (ret < 0) { in btrfs_ioctl_get_subvol_rootref()
2816 } else if (ret > 0) { in btrfs_ioctl_get_subvol_rootref()
2817 ret = -EUCLEAN; in btrfs_ioctl_get_subvol_rootref()
2823 if (!ret || ret == -EOVERFLOW) { in btrfs_ioctl_get_subvol_rootref()
2830 ret = -EFAULT; in btrfs_ioctl_get_subvol_rootref()
2836 return ret; in btrfs_ioctl_get_subvol_rootref()
2957 int ret; in btrfs_ioctl_defrag() local
2959 ret = mnt_want_write_file(file); in btrfs_ioctl_defrag()
2960 if (ret) in btrfs_ioctl_defrag()
2961 return ret; in btrfs_ioctl_defrag()
2964 ret = -EROFS; in btrfs_ioctl_defrag()
2971 ret = -EPERM; in btrfs_ioctl_defrag()
2974 ret = btrfs_defrag_root(root); in btrfs_ioctl_defrag()
2984 ret = -EPERM; in btrfs_ioctl_defrag()
2990 ret = -ENOMEM; in btrfs_ioctl_defrag()
2997 ret = -EFAULT; in btrfs_ioctl_defrag()
3010 ret = btrfs_defrag_file(file_inode(file), file, in btrfs_ioctl_defrag()
3012 if (ret > 0) in btrfs_ioctl_defrag()
3013 ret = 0; in btrfs_ioctl_defrag()
3017 ret = -EINVAL; in btrfs_ioctl_defrag()
3021 return ret; in btrfs_ioctl_defrag()
3027 int ret; in btrfs_ioctl_add_dev() local
3037 ret = PTR_ERR(vol_args); in btrfs_ioctl_add_dev()
3042 ret = btrfs_init_new_device(fs_info, vol_args->name); in btrfs_ioctl_add_dev()
3044 if (!ret) in btrfs_ioctl_add_dev()
3050 return ret; in btrfs_ioctl_add_dev()
3058 int ret; in btrfs_ioctl_rm_dev_v2() local
3063 ret = mnt_want_write_file(file); in btrfs_ioctl_rm_dev_v2()
3064 if (ret) in btrfs_ioctl_rm_dev_v2()
3065 return ret; in btrfs_ioctl_rm_dev_v2()
3069 ret = PTR_ERR(vol_args); in btrfs_ioctl_rm_dev_v2()
3075 ret = -EOPNOTSUPP; in btrfs_ioctl_rm_dev_v2()
3080 ret = BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS; in btrfs_ioctl_rm_dev_v2()
3085 ret = btrfs_rm_device(fs_info, NULL, vol_args->devid); in btrfs_ioctl_rm_dev_v2()
3088 ret = btrfs_rm_device(fs_info, vol_args->name, 0); in btrfs_ioctl_rm_dev_v2()
3092 if (!ret) { in btrfs_ioctl_rm_dev_v2()
3104 return ret; in btrfs_ioctl_rm_dev_v2()
3112 int ret; in btrfs_ioctl_rm_dev() local
3117 ret = mnt_want_write_file(file); in btrfs_ioctl_rm_dev()
3118 if (ret) in btrfs_ioctl_rm_dev()
3119 return ret; in btrfs_ioctl_rm_dev()
3122 ret = BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS; in btrfs_ioctl_rm_dev()
3128 ret = PTR_ERR(vol_args); in btrfs_ioctl_rm_dev()
3133 ret = btrfs_rm_device(fs_info, vol_args->name, 0); in btrfs_ioctl_rm_dev()
3135 if (!ret) in btrfs_ioctl_rm_dev()
3143 return ret; in btrfs_ioctl_rm_dev()
3152 int ret = 0; in btrfs_ioctl_fs_info() local
3173 ret = -EFAULT; in btrfs_ioctl_fs_info()
3176 return ret; in btrfs_ioctl_fs_info()
3184 int ret = 0; in btrfs_ioctl_dev_info() local
3199 ret = -ENODEV; in btrfs_ioctl_dev_info()
3217 if (ret == 0 && copy_to_user(arg, di_args, sizeof(*di_args))) in btrfs_ioctl_dev_info()
3218 ret = -EFAULT; in btrfs_ioctl_dev_info()
3221 return ret; in btrfs_ioctl_dev_info()
3247 int ret; in btrfs_extent_same_range() local
3254 ret = btrfs_clone(src, dst, loff, len, len, dst_loff, 1); in btrfs_extent_same_range()
3257 return ret; in btrfs_extent_same_range()
3265 int ret; in btrfs_extent_same() local
3285 ret = btrfs_extent_same_range(src, loff, BTRFS_MAX_DEDUPE_LEN, in btrfs_extent_same()
3287 if (ret) in btrfs_extent_same()
3295 ret = btrfs_extent_same_range(src, loff, tail_len, dst, in btrfs_extent_same()
3302 return ret; in btrfs_extent_same()
3313 int ret; in clone_finish_inode_update() local
3327 ret = btrfs_update_inode(trans, root, inode); in clone_finish_inode_update()
3328 if (ret) { in clone_finish_inode_update()
3329 btrfs_abort_transaction(trans, ret); in clone_finish_inode_update()
3333 ret = btrfs_end_transaction(trans); in clone_finish_inode_update()
3335 return ret; in clone_finish_inode_update()
3377 int ret; in clone_copy_inline_extent() local
3386 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in clone_copy_inline_extent()
3387 if (ret < 0) { in clone_copy_inline_extent()
3388 return ret; in clone_copy_inline_extent()
3389 } else if (ret > 0) { in clone_copy_inline_extent()
3391 ret = btrfs_next_leaf(root, path); in clone_copy_inline_extent()
3392 if (ret < 0) in clone_copy_inline_extent()
3393 return ret; in clone_copy_inline_extent()
3394 else if (ret > 0) in clone_copy_inline_extent()
3426 ret = btrfs_next_item(root, path); in clone_copy_inline_extent()
3427 if (ret < 0) { in clone_copy_inline_extent()
3428 return ret; in clone_copy_inline_extent()
3429 } else if (ret == 0) { in clone_copy_inline_extent()
3460 ret = btrfs_drop_extents(trans, root, dst, drop_start, aligned_end, 1); in clone_copy_inline_extent()
3461 if (ret) in clone_copy_inline_extent()
3462 return ret; in clone_copy_inline_extent()
3463 ret = btrfs_insert_empty_item(trans, root, path, new_key, size); in clone_copy_inline_extent()
3464 if (ret) in clone_copy_inline_extent()
3465 return ret; in clone_copy_inline_extent()
3507 int ret; in btrfs_clone() local
3511 ret = -ENOMEM; in btrfs_clone()
3514 return ret; in btrfs_clone()
3519 return ret; in btrfs_clone()
3544 ret = btrfs_search_slot(NULL, BTRFS_I(src)->root, &key, path, in btrfs_clone()
3546 if (ret < 0) in btrfs_clone()
3553 if (key.offset == off && ret > 0 && path->slots[0] > 0) { in btrfs_clone()
3563 ret = btrfs_next_leaf(BTRFS_I(src)->root, path); in btrfs_clone()
3564 if (ret < 0) in btrfs_clone()
3566 if (ret > 0) in btrfs_clone()
3658 ret = btrfs_punch_hole_range(inode, path, in btrfs_clone()
3662 if (ret) in btrfs_clone()
3677 ret = -EINVAL; in btrfs_clone()
3693 ret = PTR_ERR(trans); in btrfs_clone()
3697 ret = clone_copy_inline_extent(inode, trans, path, in btrfs_clone()
3700 if (ret) { in btrfs_clone()
3701 if (ret != -EOPNOTSUPP) in btrfs_clone()
3702 btrfs_abort_transaction(trans, ret); in btrfs_clone()
3712 ret = clone_finish_inode_update(trans, inode, last_dest_end, in btrfs_clone()
3714 if (ret) in btrfs_clone()
3723 ret = -EINTR; in btrfs_clone()
3727 ret = 0; in btrfs_clone()
3739 ret = btrfs_punch_hole_range(inode, path, in btrfs_clone()
3742 if (ret) in btrfs_clone()
3745 ret = clone_finish_inode_update(trans, inode, destoff + len, in btrfs_clone()
3752 return ret; in btrfs_clone()
3761 int ret; in btrfs_clone_files() local
3788 ret = btrfs_cont_expand(inode, inode->i_size, destoff); in btrfs_clone_files()
3789 if (ret) in btrfs_clone_files()
3790 return ret; in btrfs_clone_files()
3800 ret = btrfs_wait_ordered_range(inode, wb_start, in btrfs_clone_files()
3802 if (ret) in btrfs_clone_files()
3803 return ret; in btrfs_clone_files()
3811 ret = btrfs_clone(src, inode, off, olen, len, destoff, 0); in btrfs_clone_files()
3821 return ret; in btrfs_clone_files()
3833 int ret; in btrfs_remap_file_range_prep() local
3897 ret = filemap_flush(inode_in->i_mapping); in btrfs_remap_file_range_prep()
3898 if (ret < 0) in btrfs_remap_file_range_prep()
3899 return ret; in btrfs_remap_file_range_prep()
3901 ret = btrfs_wait_ordered_range(inode_in, ALIGN_DOWN(pos_in, bs), in btrfs_remap_file_range_prep()
3903 if (ret < 0) in btrfs_remap_file_range_prep()
3904 return ret; in btrfs_remap_file_range_prep()
3905 ret = btrfs_wait_ordered_range(inode_out, ALIGN_DOWN(pos_out, bs), in btrfs_remap_file_range_prep()
3907 if (ret < 0) in btrfs_remap_file_range_prep()
3908 return ret; in btrfs_remap_file_range_prep()
3921 int ret; in btrfs_remap_file_range() local
3931 ret = btrfs_remap_file_range_prep(src_file, off, dst_file, destoff, in btrfs_remap_file_range()
3933 if (ret < 0 || len == 0) in btrfs_remap_file_range()
3937 ret = btrfs_extent_same(src_inode, off, len, dst_inode, destoff); in btrfs_remap_file_range()
3939 ret = btrfs_clone_files(dst_file, src_file, off, len, destoff); in btrfs_remap_file_range()
3947 return ret < 0 ? ret : len; in btrfs_remap_file_range()
3963 int ret; in btrfs_ioctl_default_subvol() local
3968 ret = mnt_want_write_file(file); in btrfs_ioctl_default_subvol()
3969 if (ret) in btrfs_ioctl_default_subvol()
3970 return ret; in btrfs_ioctl_default_subvol()
3973 ret = -EFAULT; in btrfs_ioctl_default_subvol()
3986 ret = PTR_ERR(new_root); in btrfs_ioctl_default_subvol()
3990 ret = -ENOENT; in btrfs_ioctl_default_subvol()
3996 ret = -ENOMEM; in btrfs_ioctl_default_subvol()
4004 ret = PTR_ERR(trans); in btrfs_ioctl_default_subvol()
4016 ret = -ENOENT; in btrfs_ioctl_default_subvol()
4029 return ret; in btrfs_ioctl_default_subvol()
4065 int ret = 0; in btrfs_ioctl_space_info() local
4181 ret = -EFAULT; in btrfs_ioctl_space_info()
4185 if (ret == 0 && copy_to_user(arg, &space_args, sizeof(space_args))) in btrfs_ioctl_space_info()
4186 ret = -EFAULT; in btrfs_ioctl_space_info()
4188 return ret; in btrfs_ioctl_space_info()
4196 int ret; in btrfs_ioctl_start_sync() local
4208 ret = btrfs_commit_transaction_async(trans, 0); in btrfs_ioctl_start_sync()
4209 if (ret) { in btrfs_ioctl_start_sync()
4211 return ret; in btrfs_ioctl_start_sync()
4238 int ret; in btrfs_ioctl_scrub() local
4248 ret = mnt_want_write_file(file); in btrfs_ioctl_scrub()
4249 if (ret) in btrfs_ioctl_scrub()
4253 ret = btrfs_scrub_dev(fs_info, sa->devid, sa->start, sa->end, in btrfs_ioctl_scrub()
4270 ret = -EFAULT; in btrfs_ioctl_scrub()
4276 return ret; in btrfs_ioctl_scrub()
4291 int ret; in btrfs_ioctl_scrub_progress() local
4300 ret = btrfs_scrub_progress(fs_info, sa->devid, &sa->progress); in btrfs_ioctl_scrub_progress()
4302 if (ret == 0 && copy_to_user(arg, sa, sizeof(*sa))) in btrfs_ioctl_scrub_progress()
4303 ret = -EFAULT; in btrfs_ioctl_scrub_progress()
4306 return ret; in btrfs_ioctl_scrub_progress()
4313 int ret; in btrfs_ioctl_get_dev_stats() local
4324 ret = btrfs_get_dev_stats(fs_info, sa); in btrfs_ioctl_get_dev_stats()
4326 if (ret == 0 && copy_to_user(arg, sa, sizeof(*sa))) in btrfs_ioctl_get_dev_stats()
4327 ret = -EFAULT; in btrfs_ioctl_get_dev_stats()
4330 return ret; in btrfs_ioctl_get_dev_stats()
4337 int ret; in btrfs_ioctl_dev_replace() local
4349 ret = -EROFS; in btrfs_ioctl_dev_replace()
4353 ret = BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS; in btrfs_ioctl_dev_replace()
4355 ret = btrfs_dev_replace_by_ioctl(fs_info, p); in btrfs_ioctl_dev_replace()
4361 ret = 0; in btrfs_ioctl_dev_replace()
4365 ret = 0; in btrfs_ioctl_dev_replace()
4368 ret = -EINVAL; in btrfs_ioctl_dev_replace()
4372 if ((ret == 0 || ret == -ECANCELED) && copy_to_user(arg, p, sizeof(*p))) in btrfs_ioctl_dev_replace()
4373 ret = -EFAULT; in btrfs_ioctl_dev_replace()
4376 return ret; in btrfs_ioctl_dev_replace()
4381 int ret = 0; in btrfs_ioctl_ino_to_path() local
4394 ret = -ENOMEM; in btrfs_ioctl_ino_to_path()
4400 ret = PTR_ERR(ipa); in btrfs_ioctl_ino_to_path()
4408 ret = PTR_ERR(ipath); in btrfs_ioctl_ino_to_path()
4413 ret = paths_from_inode(ipa->inum, ipath); in btrfs_ioctl_ino_to_path()
4414 if (ret < 0) in btrfs_ioctl_ino_to_path()
4423 ret = copy_to_user((void __user *)(unsigned long)ipa->fspath, in btrfs_ioctl_ino_to_path()
4425 if (ret) { in btrfs_ioctl_ino_to_path()
4426 ret = -EFAULT; in btrfs_ioctl_ino_to_path()
4435 return ret; in btrfs_ioctl_ino_to_path()
4461 int ret = 0; in btrfs_ioctl_logical_to_ino() local
4481 ret = -EINVAL; in btrfs_ioctl_logical_to_ino()
4486 ret = -EINVAL; in btrfs_ioctl_logical_to_ino()
4495 ret = -ENOMEM; in btrfs_ioctl_logical_to_ino()
4501 ret = PTR_ERR(inodes); in btrfs_ioctl_logical_to_ino()
4506 ret = iterate_inodes_from_logical(loi->logical, fs_info, path, in btrfs_ioctl_logical_to_ino()
4508 if (ret == -EINVAL) in btrfs_ioctl_logical_to_ino()
4509 ret = -ENOENT; in btrfs_ioctl_logical_to_ino()
4510 if (ret < 0) in btrfs_ioctl_logical_to_ino()
4513 ret = copy_to_user((void __user *)(unsigned long)loi->inodes, inodes, in btrfs_ioctl_logical_to_ino()
4515 if (ret) in btrfs_ioctl_logical_to_ino()
4516 ret = -EFAULT; in btrfs_ioctl_logical_to_ino()
4524 return ret; in btrfs_ioctl_logical_to_ino()
4557 int ret; in btrfs_ioctl_balance() local
4562 ret = mnt_want_write_file(file); in btrfs_ioctl_balance()
4563 if (ret) in btrfs_ioctl_balance()
4564 return ret; in btrfs_ioctl_balance()
4602 ret = -EINPROGRESS; in btrfs_ioctl_balance()
4608 ret = BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS; in btrfs_ioctl_balance()
4618 ret = PTR_ERR(bargs); in btrfs_ioctl_balance()
4624 ret = -ENOTCONN; in btrfs_ioctl_balance()
4640 ret = -EINPROGRESS; in btrfs_ioctl_balance()
4646 ret = -ENOMEM; in btrfs_ioctl_balance()
4662 ret = -EINVAL; in btrfs_ioctl_balance()
4675 ret = btrfs_balance(fs_info, bctl, bargs); in btrfs_ioctl_balance()
4678 if ((ret == 0 || ret == -ECANCELED) && arg) { in btrfs_ioctl_balance()
4680 ret = -EFAULT; in btrfs_ioctl_balance()
4693 return ret; in btrfs_ioctl_balance()
4715 int ret = 0; in btrfs_ioctl_balance_progress() local
4722 ret = -ENOTCONN; in btrfs_ioctl_balance_progress()
4728 ret = -ENOMEM; in btrfs_ioctl_balance_progress()
4735 ret = -EFAULT; in btrfs_ioctl_balance_progress()
4740 return ret; in btrfs_ioctl_balance_progress()
4748 int ret; in btrfs_ioctl_quota_ctl() local
4753 ret = mnt_want_write_file(file); in btrfs_ioctl_quota_ctl()
4754 if (ret) in btrfs_ioctl_quota_ctl()
4755 return ret; in btrfs_ioctl_quota_ctl()
4759 ret = PTR_ERR(sa); in btrfs_ioctl_quota_ctl()
4767 ret = btrfs_quota_enable(fs_info); in btrfs_ioctl_quota_ctl()
4770 ret = btrfs_quota_disable(fs_info); in btrfs_ioctl_quota_ctl()
4773 ret = -EINVAL; in btrfs_ioctl_quota_ctl()
4781 return ret; in btrfs_ioctl_quota_ctl()
4791 int ret; in btrfs_ioctl_qgroup_assign() local
4797 ret = mnt_want_write_file(file); in btrfs_ioctl_qgroup_assign()
4798 if (ret) in btrfs_ioctl_qgroup_assign()
4799 return ret; in btrfs_ioctl_qgroup_assign()
4803 ret = PTR_ERR(sa); in btrfs_ioctl_qgroup_assign()
4809 ret = PTR_ERR(trans); in btrfs_ioctl_qgroup_assign()
4814 ret = btrfs_add_qgroup_relation(trans, sa->src, sa->dst); in btrfs_ioctl_qgroup_assign()
4816 ret = btrfs_del_qgroup_relation(trans, sa->src, sa->dst); in btrfs_ioctl_qgroup_assign()
4825 if (err && !ret) in btrfs_ioctl_qgroup_assign()
4826 ret = err; in btrfs_ioctl_qgroup_assign()
4832 return ret; in btrfs_ioctl_qgroup_assign()
4841 int ret; in btrfs_ioctl_qgroup_create() local
4847 ret = mnt_want_write_file(file); in btrfs_ioctl_qgroup_create()
4848 if (ret) in btrfs_ioctl_qgroup_create()
4849 return ret; in btrfs_ioctl_qgroup_create()
4853 ret = PTR_ERR(sa); in btrfs_ioctl_qgroup_create()
4858 ret = -EINVAL; in btrfs_ioctl_qgroup_create()
4864 ret = PTR_ERR(trans); in btrfs_ioctl_qgroup_create()
4869 ret = btrfs_create_qgroup(trans, sa->qgroupid); in btrfs_ioctl_qgroup_create()
4871 ret = btrfs_remove_qgroup(trans, sa->qgroupid); in btrfs_ioctl_qgroup_create()
4875 if (err && !ret) in btrfs_ioctl_qgroup_create()
4876 ret = err; in btrfs_ioctl_qgroup_create()
4882 return ret; in btrfs_ioctl_qgroup_create()
4891 int ret; in btrfs_ioctl_qgroup_limit() local
4898 ret = mnt_want_write_file(file); in btrfs_ioctl_qgroup_limit()
4899 if (ret) in btrfs_ioctl_qgroup_limit()
4900 return ret; in btrfs_ioctl_qgroup_limit()
4904 ret = PTR_ERR(sa); in btrfs_ioctl_qgroup_limit()
4910 ret = PTR_ERR(trans); in btrfs_ioctl_qgroup_limit()
4920 ret = btrfs_limit_qgroup(trans, qgroupid, &sa->lim); in btrfs_ioctl_qgroup_limit()
4923 if (err && !ret) in btrfs_ioctl_qgroup_limit()
4924 ret = err; in btrfs_ioctl_qgroup_limit()
4930 return ret; in btrfs_ioctl_qgroup_limit()
4938 int ret; in btrfs_ioctl_quota_rescan() local
4943 ret = mnt_want_write_file(file); in btrfs_ioctl_quota_rescan()
4944 if (ret) in btrfs_ioctl_quota_rescan()
4945 return ret; in btrfs_ioctl_quota_rescan()
4949 ret = PTR_ERR(qsa); in btrfs_ioctl_quota_rescan()
4954 ret = -EINVAL; in btrfs_ioctl_quota_rescan()
4958 ret = btrfs_qgroup_rescan(fs_info); in btrfs_ioctl_quota_rescan()
4964 return ret; in btrfs_ioctl_quota_rescan()
4972 int ret = 0; in btrfs_ioctl_quota_rescan_status() local
4987 ret = -EFAULT; in btrfs_ioctl_quota_rescan_status()
4990 return ret; in btrfs_ioctl_quota_rescan_status()
5013 int ret = 0; in _btrfs_ioctl_set_received_subvol() local
5019 ret = mnt_want_write_file(file); in _btrfs_ioctl_set_received_subvol()
5020 if (ret < 0) in _btrfs_ioctl_set_received_subvol()
5021 return ret; in _btrfs_ioctl_set_received_subvol()
5026 ret = -EINVAL; in _btrfs_ioctl_set_received_subvol()
5031 ret = -EROFS; in _btrfs_ioctl_set_received_subvol()
5041 ret = PTR_ERR(trans); in _btrfs_ioctl_set_received_subvol()
5054 ret = btrfs_uuid_tree_remove(trans, root_item->received_uuid, in _btrfs_ioctl_set_received_subvol()
5057 if (ret && ret != -ENOENT) { in _btrfs_ioctl_set_received_subvol()
5058 btrfs_abort_transaction(trans, ret); in _btrfs_ioctl_set_received_subvol()
5071 ret = btrfs_update_root(trans, fs_info->tree_root, in _btrfs_ioctl_set_received_subvol()
5073 if (ret < 0) { in _btrfs_ioctl_set_received_subvol()
5078 ret = btrfs_uuid_tree_add(trans, sa->uuid, in _btrfs_ioctl_set_received_subvol()
5081 if (ret < 0 && ret != -EEXIST) { in _btrfs_ioctl_set_received_subvol()
5082 btrfs_abort_transaction(trans, ret); in _btrfs_ioctl_set_received_subvol()
5087 ret = btrfs_commit_transaction(trans); in _btrfs_ioctl_set_received_subvol()
5091 return ret; in _btrfs_ioctl_set_received_subvol()
5100 int ret = 0; in btrfs_ioctl_set_received_subvol_32() local
5108 ret = -ENOMEM; in btrfs_ioctl_set_received_subvol_32()
5121 ret = _btrfs_ioctl_set_received_subvol(file, args64); in btrfs_ioctl_set_received_subvol_32()
5122 if (ret) in btrfs_ioctl_set_received_subvol_32()
5134 ret = copy_to_user(arg, args32, sizeof(*args32)); in btrfs_ioctl_set_received_subvol_32()
5135 if (ret) in btrfs_ioctl_set_received_subvol_32()
5136 ret = -EFAULT; in btrfs_ioctl_set_received_subvol_32()
5141 return ret; in btrfs_ioctl_set_received_subvol_32()
5149 int ret = 0; in btrfs_ioctl_set_received_subvol() local
5155 ret = _btrfs_ioctl_set_received_subvol(file, sa); in btrfs_ioctl_set_received_subvol()
5157 if (ret) in btrfs_ioctl_set_received_subvol()
5160 ret = copy_to_user(arg, sa, sizeof(*sa)); in btrfs_ioctl_set_received_subvol()
5161 if (ret) in btrfs_ioctl_set_received_subvol()
5162 ret = -EFAULT; in btrfs_ioctl_set_received_subvol()
5166 return ret; in btrfs_ioctl_set_received_subvol()
5174 int ret; in btrfs_ioctl_get_fslabel() local
5189 ret = copy_to_user(arg, label, len); in btrfs_ioctl_get_fslabel()
5191 return ret ? -EFAULT : 0; in btrfs_ioctl_get_fslabel()
5202 int ret; in btrfs_ioctl_set_fslabel() local
5217 ret = mnt_want_write_file(file); in btrfs_ioctl_set_fslabel()
5218 if (ret) in btrfs_ioctl_set_fslabel()
5219 return ret; in btrfs_ioctl_set_fslabel()
5223 ret = PTR_ERR(trans); in btrfs_ioctl_set_fslabel()
5230 ret = btrfs_commit_transaction(trans); in btrfs_ioctl_set_fslabel()
5234 return ret; in btrfs_ioctl_set_fslabel()
5347 int ret; in btrfs_ioctl_set_features() local
5360 ret = check_feature(fs_info, flags[0].compat_flags, in btrfs_ioctl_set_features()
5362 if (ret) in btrfs_ioctl_set_features()
5363 return ret; in btrfs_ioctl_set_features()
5365 ret = check_feature(fs_info, flags[0].compat_ro_flags, in btrfs_ioctl_set_features()
5367 if (ret) in btrfs_ioctl_set_features()
5368 return ret; in btrfs_ioctl_set_features()
5370 ret = check_feature(fs_info, flags[0].incompat_flags, in btrfs_ioctl_set_features()
5372 if (ret) in btrfs_ioctl_set_features()
5373 return ret; in btrfs_ioctl_set_features()
5375 ret = mnt_want_write_file(file); in btrfs_ioctl_set_features()
5376 if (ret) in btrfs_ioctl_set_features()
5377 return ret; in btrfs_ioctl_set_features()
5381 ret = PTR_ERR(trans); in btrfs_ioctl_set_features()
5402 ret = btrfs_commit_transaction(trans); in btrfs_ioctl_set_features()
5406 return ret; in btrfs_ioctl_set_features()
5412 int ret; in _btrfs_ioctl_send() local
5418 ret = copy_from_user(&args32, argp, sizeof(args32)); in _btrfs_ioctl_send()
5419 if (ret) in _btrfs_ioctl_send()
5439 ret = btrfs_ioctl_send(file, arg); in _btrfs_ioctl_send()
5441 return ret; in _btrfs_ioctl_send()
5514 int ret; in btrfs_ioctl() local
5516 ret = btrfs_start_delalloc_roots(fs_info, -1); in btrfs_ioctl()
5517 if (ret) in btrfs_ioctl()
5518 return ret; in btrfs_ioctl()
5519 ret = btrfs_sync_fs(inode->i_sb, 1); in btrfs_ioctl()
5526 return ret; in btrfs_ioctl()