Lines Matching refs:fs_info

325 		if (root->fs_info->compress_type == BTRFS_COMPRESS_LZO)  in btrfs_ioctl_setflags()
374 struct btrfs_fs_info *fs_info = btrfs_sb(file_inode(file)->i_sb); in btrfs_ioctl_fitrim() local
380 u64 total_bytes = btrfs_super_total_bytes(fs_info->super_copy); in btrfs_ioctl_fitrim()
387 list_for_each_entry_rcu(device, &fs_info->fs_devices->devices, in btrfs_ioctl_fitrim()
405 range.len < fs_info->sb->s_blocksize) in btrfs_ioctl_fitrim()
410 ret = btrfs_trim_fs(fs_info->tree_root, &range); in btrfs_ioctl_fitrim()
455 ret = btrfs_find_free_objectid(root->fs_info->tree_root, &objectid); in create_subvol()
486 ret = btrfs_qgroup_inherit(trans, root->fs_info, 0, objectid, inherit); in create_subvol()
502 write_extent_buffer(leaf, root->fs_info->fsid, btrfs_header_fsid(), in create_subvol()
504 write_extent_buffer(leaf, root->fs_info->chunk_tree_uuid, in create_subvol()
548 ret = btrfs_insert_root(trans, root->fs_info->tree_root, &key, in create_subvol()
554 new_root = btrfs_read_fs_root_no_name(root->fs_info, &key); in create_subvol()
595 ret = btrfs_add_root_ref(trans, root->fs_info->tree_root, in create_subvol()
600 ret = btrfs_uuid_tree_add(trans, root->fs_info->uuid_root, in create_subvol()
706 spin_lock(&root->fs_info->trans_lock); in create_snapshot()
709 spin_unlock(&root->fs_info->trans_lock); in create_snapshot()
713 root->fs_info->extent_root, 1); in create_snapshot()
718 root->fs_info->extent_root); in create_snapshot()
855 down_read(&BTRFS_I(dir)->root->fs_info->subvol_sem); in btrfs_mksubvol()
870 up_read(&BTRFS_I(dir)->root->fs_info->subvol_sem); in btrfs_mksubvol()
1343 if (btrfs_defrag_cancelled(root->fs_info)) { in btrfs_defrag_file()
1433 atomic_inc(&root->fs_info->async_submit_draining); in btrfs_defrag_file()
1434 while (atomic_read(&root->fs_info->nr_async_submits) || in btrfs_defrag_file()
1435 atomic_read(&root->fs_info->async_delalloc_pages)) { in btrfs_defrag_file()
1436 wait_event(root->fs_info->async_submit_wait, in btrfs_defrag_file()
1437 (atomic_read(&root->fs_info->nr_async_submits) == 0 && in btrfs_defrag_file()
1438 atomic_read(&root->fs_info->async_delalloc_pages) == 0)); in btrfs_defrag_file()
1440 atomic_dec(&root->fs_info->async_submit_draining); in btrfs_defrag_file()
1444 btrfs_set_fs_incompat(root->fs_info, COMPRESS_LZO); in btrfs_defrag_file()
1484 if (atomic_xchg(&root->fs_info->mutually_exclusive_operation_running, in btrfs_ioctl_resize()
1490 mutex_lock(&root->fs_info->volume_mutex); in btrfs_ioctl_resize()
1512 btrfs_info(root->fs_info, "resizing devid %llu", devid); in btrfs_ioctl_resize()
1515 device = btrfs_find_device(root->fs_info, devid, NULL, NULL); in btrfs_ioctl_resize()
1517 btrfs_info(root->fs_info, "resizer unable to find device %llu", in btrfs_ioctl_resize()
1524 btrfs_info(root->fs_info, in btrfs_ioctl_resize()
1599 mutex_unlock(&root->fs_info->volume_mutex); in btrfs_ioctl_resize()
1600 atomic_set(&root->fs_info->mutually_exclusive_operation_running, 0); in btrfs_ioctl_resize()
1642 btrfs_info(BTRFS_I(src_inode)->root->fs_info, in btrfs_ioctl_snap_create_transid()
1751 down_read(&root->fs_info->subvol_sem); in btrfs_ioctl_subvol_getflags()
1754 up_read(&root->fs_info->subvol_sem); in btrfs_ioctl_subvol_getflags()
1799 down_write(&root->fs_info->subvol_sem); in btrfs_ioctl_subvol_setflags()
1821 btrfs_warn(root->fs_info, in btrfs_ioctl_subvol_setflags()
1835 ret = btrfs_update_root(trans, root->fs_info->tree_root, in btrfs_ioctl_subvol_setflags()
1843 up_write(&root->fs_info->subvol_sem); in btrfs_ioctl_subvol_setflags()
1866 dir_id = btrfs_super_root_dir(root->fs_info->super_copy); in may_destroy_subvol()
1867 di = btrfs_lookup_dir_item(NULL, root->fs_info->tree_root, path, in may_destroy_subvol()
1873 btrfs_err(root->fs_info, "deleting default subvolume " in may_destroy_subvol()
1884 ret = btrfs_search_slot(NULL, root->fs_info->tree_root, in may_destroy_subvol()
2054 struct btrfs_fs_info *info = BTRFS_I(inode)->root->fs_info; in search_ioctl()
2292 ret = btrfs_search_path_in_tree(BTRFS_I(inode)->root->fs_info, in btrfs_ioctl_ino_lookup()
2413 btrfs_warn(root->fs_info, in btrfs_ioctl_snap_destroy()
2420 down_write(&root->fs_info->subvol_sem); in btrfs_ioctl_snap_destroy()
2463 root->fs_info->tree_root, in btrfs_ioctl_snap_destroy()
2472 ret = btrfs_uuid_tree_rem(trans, root->fs_info->uuid_root, in btrfs_ioctl_snap_destroy()
2481 ret = btrfs_uuid_tree_rem(trans, root->fs_info->uuid_root, in btrfs_ioctl_snap_destroy()
2502 up_write(&root->fs_info->subvol_sem); in btrfs_ioctl_snap_destroy()
2560 ret = btrfs_defrag_root(root->fs_info->extent_root); in btrfs_ioctl_defrag()
2612 if (atomic_xchg(&root->fs_info->mutually_exclusive_operation_running, in btrfs_ioctl_add_dev()
2617 mutex_lock(&root->fs_info->volume_mutex); in btrfs_ioctl_add_dev()
2628 btrfs_info(root->fs_info, "disk added %s",vol_args->name); in btrfs_ioctl_add_dev()
2632 mutex_unlock(&root->fs_info->volume_mutex); in btrfs_ioctl_add_dev()
2633 atomic_set(&root->fs_info->mutually_exclusive_operation_running, 0); in btrfs_ioctl_add_dev()
2658 if (atomic_xchg(&root->fs_info->mutually_exclusive_operation_running, in btrfs_ioctl_rm_dev()
2664 mutex_lock(&root->fs_info->volume_mutex); in btrfs_ioctl_rm_dev()
2666 mutex_unlock(&root->fs_info->volume_mutex); in btrfs_ioctl_rm_dev()
2667 atomic_set(&root->fs_info->mutually_exclusive_operation_running, 0); in btrfs_ioctl_rm_dev()
2670 btrfs_info(root->fs_info, "disk deleted %s",vol_args->name); in btrfs_ioctl_rm_dev()
2684 struct btrfs_fs_devices *fs_devices = root->fs_info->fs_devices; in btrfs_ioctl_fs_info()
2693 memcpy(&fi_args->fsid, root->fs_info->fsid, sizeof(fi_args->fsid)); in btrfs_ioctl_fs_info()
2701 fi_args->nodesize = root->fs_info->super_copy->nodesize; in btrfs_ioctl_fs_info()
2702 fi_args->sectorsize = root->fs_info->super_copy->sectorsize; in btrfs_ioctl_fs_info()
2703 fi_args->clone_alignment = root->fs_info->super_copy->sectorsize; in btrfs_ioctl_fs_info()
2716 struct btrfs_fs_devices *fs_devices = root->fs_info->fs_devices; in btrfs_ioctl_dev_info()
2728 dev = btrfs_find_device(root->fs_info, di_args->devid, s_uuid, NULL); in btrfs_ioctl_dev_info()
2886 u64 bs = BTRFS_I(inode)->root->fs_info->sb->s_blocksize; in extent_same_check_offsets()
2953 u64 bs = BTRFS_I(src)->root->fs_info->sb->s_blocksize; in btrfs_ioctl_file_extent_same()
3063 if (!root->fs_info->quota_enabled) in check_ref()
3066 btrfs_get_tree_mod_seq(root->fs_info, &tree_mod_seq_elem); in check_ref()
3067 ret = btrfs_find_all_roots(trans, root->fs_info, disko, in check_ref()
3081 btrfs_put_tree_mod_seq(root->fs_info, &tree_mod_seq_elem); in check_ref()
3689 u64 bs = root->fs_info->sb->s_blocksize; in btrfs_ioctl_clone()
3884 atomic_inc(&root->fs_info->open_ioctl_trans); in btrfs_ioctl_trans_start()
3895 atomic_dec(&root->fs_info->open_ioctl_trans); in btrfs_ioctl_trans_start()
3934 new_root = btrfs_read_fs_root_no_name(root->fs_info, &location); in btrfs_ioctl_default_subvol()
3954 dir_id = btrfs_super_root_dir(root->fs_info->super_copy); in btrfs_ioctl_default_subvol()
3955 di = btrfs_lookup_dir_item(trans, root->fs_info->tree_root, path, in btrfs_ioctl_default_subvol()
3960 btrfs_err(new_root->fs_info, "Umm, you don't have the default dir" in btrfs_ioctl_default_subvol()
3971 btrfs_set_fs_incompat(root->fs_info, DEFAULT_SUBVOL); in btrfs_ioctl_default_subvol()
4022 list_for_each_entry_rcu(tmp, &root->fs_info->space_info, in btrfs_ioctl_space_info()
4078 list_for_each_entry_rcu(tmp, &root->fs_info->space_info, in btrfs_ioctl_space_info()
4109 struct btrfs_block_rsv *block_rsv = &root->fs_info->global_block_rsv; in btrfs_ioctl_space_info()
4153 atomic_dec(&root->fs_info->open_ioctl_trans); in btrfs_ioctl_trans_end()
4172 transid = root->fs_info->last_trans_committed; in btrfs_ioctl_start_sync()
4221 ret = btrfs_scrub_dev(root->fs_info, sa->devid, sa->start, sa->end, in btrfs_ioctl_scrub()
4240 return btrfs_scrub_cancel(root->fs_info); in btrfs_ioctl_scrub_cancel()
4303 if (root->fs_info->sb->s_flags & MS_RDONLY) { in btrfs_ioctl_dev_replace()
4308 &root->fs_info->mutually_exclusive_operation_running, in btrfs_ioctl_dev_replace()
4314 &root->fs_info->mutually_exclusive_operation_running, in btrfs_ioctl_dev_replace()
4319 btrfs_dev_replace_status(root->fs_info, p); in btrfs_ioctl_dev_replace()
4323 ret = btrfs_dev_replace_cancel(root->fs_info, p); in btrfs_ioctl_dev_replace()
4449 ret = iterate_inodes_from_logical(loi->logical, root->fs_info, path, in btrfs_ioctl_logical_to_ino()
4469 void update_ioctl_balance_args(struct btrfs_fs_info *fs_info, int lock, in update_ioctl_balance_args() argument
4472 struct btrfs_balance_control *bctl = fs_info->balance_ctl; in update_ioctl_balance_args()
4476 if (atomic_read(&fs_info->balance_running)) in update_ioctl_balance_args()
4478 if (atomic_read(&fs_info->balance_pause_req)) in update_ioctl_balance_args()
4480 if (atomic_read(&fs_info->balance_cancel_req)) in update_ioctl_balance_args()
4488 spin_lock(&fs_info->balance_lock); in update_ioctl_balance_args()
4490 spin_unlock(&fs_info->balance_lock); in update_ioctl_balance_args()
4499 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_ioctl_balance() local
4513 if (!atomic_xchg(&fs_info->mutually_exclusive_operation_running, 1)) { in btrfs_ioctl_balance()
4514 mutex_lock(&fs_info->volume_mutex); in btrfs_ioctl_balance()
4515 mutex_lock(&fs_info->balance_mutex); in btrfs_ioctl_balance()
4526 mutex_lock(&fs_info->balance_mutex); in btrfs_ioctl_balance()
4527 if (fs_info->balance_ctl) { in btrfs_ioctl_balance()
4529 if (!atomic_read(&fs_info->balance_running)) { in btrfs_ioctl_balance()
4530 mutex_unlock(&fs_info->balance_mutex); in btrfs_ioctl_balance()
4531 if (!mutex_trylock(&fs_info->volume_mutex)) in btrfs_ioctl_balance()
4533 mutex_lock(&fs_info->balance_mutex); in btrfs_ioctl_balance()
4535 if (fs_info->balance_ctl && in btrfs_ioctl_balance()
4536 !atomic_read(&fs_info->balance_running)) { in btrfs_ioctl_balance()
4542 mutex_unlock(&fs_info->balance_mutex); in btrfs_ioctl_balance()
4543 mutex_unlock(&fs_info->volume_mutex); in btrfs_ioctl_balance()
4547 mutex_unlock(&fs_info->balance_mutex); in btrfs_ioctl_balance()
4553 mutex_unlock(&fs_info->balance_mutex); in btrfs_ioctl_balance()
4559 BUG_ON(!atomic_read(&fs_info->mutually_exclusive_operation_running)); in btrfs_ioctl_balance()
4569 if (!fs_info->balance_ctl) { in btrfs_ioctl_balance()
4574 bctl = fs_info->balance_ctl; in btrfs_ioctl_balance()
4575 spin_lock(&fs_info->balance_lock); in btrfs_ioctl_balance()
4577 spin_unlock(&fs_info->balance_lock); in btrfs_ioctl_balance()
4585 if (fs_info->balance_ctl) { in btrfs_ioctl_balance()
4596 bctl->fs_info = fs_info; in btrfs_ioctl_balance()
4636 mutex_unlock(&fs_info->balance_mutex); in btrfs_ioctl_balance()
4637 mutex_unlock(&fs_info->volume_mutex); in btrfs_ioctl_balance()
4639 atomic_set(&fs_info->mutually_exclusive_operation_running, 0); in btrfs_ioctl_balance()
4652 return btrfs_pause_balance(root->fs_info); in btrfs_ioctl_balance_ctl()
4654 return btrfs_cancel_balance(root->fs_info); in btrfs_ioctl_balance_ctl()
4663 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_ioctl_balance_progress() local
4670 mutex_lock(&fs_info->balance_mutex); in btrfs_ioctl_balance_progress()
4671 if (!fs_info->balance_ctl) { in btrfs_ioctl_balance_progress()
4682 update_ioctl_balance_args(fs_info, 1, bargs); in btrfs_ioctl_balance_progress()
4689 mutex_unlock(&fs_info->balance_mutex); in btrfs_ioctl_balance_progress()
4714 down_write(&root->fs_info->subvol_sem); in btrfs_ioctl_quota_ctl()
4715 trans = btrfs_start_transaction(root->fs_info->tree_root, 2); in btrfs_ioctl_quota_ctl()
4723 ret = btrfs_quota_enable(trans, root->fs_info); in btrfs_ioctl_quota_ctl()
4726 ret = btrfs_quota_disable(trans, root->fs_info); in btrfs_ioctl_quota_ctl()
4733 err = btrfs_commit_transaction(trans, root->fs_info->tree_root); in btrfs_ioctl_quota_ctl()
4738 up_write(&root->fs_info->subvol_sem); in btrfs_ioctl_quota_ctl()
4773 ret = btrfs_add_qgroup_relation(trans, root->fs_info, in btrfs_ioctl_qgroup_assign()
4776 ret = btrfs_del_qgroup_relation(trans, root->fs_info, in btrfs_ioctl_qgroup_assign()
4781 err = btrfs_run_qgroups(trans, root->fs_info); in btrfs_ioctl_qgroup_assign()
4783 btrfs_error(root->fs_info, ret, in btrfs_ioctl_qgroup_assign()
4830 ret = btrfs_create_qgroup(trans, root->fs_info, sa->qgroupid); in btrfs_ioctl_qgroup_create()
4832 ret = btrfs_remove_qgroup(trans, root->fs_info, sa->qgroupid); in btrfs_ioctl_qgroup_create()
4881 ret = btrfs_limit_qgroup(trans, root->fs_info, qgroupid, &sa->lim); in btrfs_ioctl_qgroup_limit()
4918 ret = btrfs_qgroup_rescan(root->fs_info); in btrfs_ioctl_quota_rescan()
4940 if (root->fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) { in btrfs_ioctl_quota_rescan_status()
4942 qsa->progress = root->fs_info->qgroup_rescan_progress.objectid; in btrfs_ioctl_quota_rescan_status()
4959 return btrfs_qgroup_wait_for_completion(root->fs_info); in btrfs_ioctl_quota_rescan_wait()
4980 down_write(&root->fs_info->subvol_sem); in _btrfs_ioctl_set_received_subvol()
5011 btrfs_uuid_tree_rem(trans, root->fs_info->uuid_root, in _btrfs_ioctl_set_received_subvol()
5023 ret = btrfs_update_root(trans, root->fs_info->tree_root, in _btrfs_ioctl_set_received_subvol()
5030 ret = btrfs_uuid_tree_add(trans, root->fs_info->uuid_root, in _btrfs_ioctl_set_received_subvol()
5046 up_write(&root->fs_info->subvol_sem); in _btrfs_ioctl_set_received_subvol()
5139 spin_lock(&root->fs_info->super_lock); in btrfs_ioctl_get_fslabel()
5140 memcpy(label, root->fs_info->super_copy->label, BTRFS_LABEL_SIZE); in btrfs_ioctl_get_fslabel()
5141 spin_unlock(&root->fs_info->super_lock); in btrfs_ioctl_get_fslabel()
5146 btrfs_warn(root->fs_info, in btrfs_ioctl_get_fslabel()
5158 struct btrfs_super_block *super_block = root->fs_info->super_copy; in btrfs_ioctl_set_fslabel()
5170 btrfs_err(root->fs_info, "unable to set label with more than %d bytes", in btrfs_ioctl_set_fslabel()
5185 spin_lock(&root->fs_info->super_lock); in btrfs_ioctl_set_fslabel()
5187 spin_unlock(&root->fs_info->super_lock); in btrfs_ioctl_set_fslabel()
5218 struct btrfs_super_block *super_block = root->fs_info->super_copy; in btrfs_ioctl_get_features()
5246 btrfs_warn(root->fs_info, in check_feature_bits()
5251 btrfs_warn(root->fs_info, in check_feature_bits()
5261 btrfs_warn(root->fs_info, in check_feature_bits()
5266 btrfs_warn(root->fs_info, in check_feature_bits()
5276 btrfs_warn(root->fs_info, in check_feature_bits()
5281 btrfs_warn(root->fs_info, in check_feature_bits()
5299 struct btrfs_super_block *super_block = root->fs_info->super_copy; in btrfs_ioctl_set_features()
5335 spin_lock(&root->fs_info->super_lock); in btrfs_ioctl_set_features()
5350 spin_unlock(&root->fs_info->super_lock); in btrfs_ioctl_set_features()
5425 ret = btrfs_start_delalloc_roots(root->fs_info, 0, -1); in btrfs_ioctl()
5434 wake_up_process(root->fs_info->transaction_kthread); in btrfs_ioctl()