Lines Matching refs:fs_info
104 p = &root->fs_info->defrag_inodes.rb_node; in __btrfs_add_inode_defrag()
128 rb_insert_color(&defrag->rb_node, &root->fs_info->defrag_inodes); in __btrfs_add_inode_defrag()
137 if (btrfs_fs_closing(root->fs_info)) in __need_auto_defrag()
174 spin_lock(&root->fs_info->defrag_inodes_lock); in btrfs_add_inode_defrag()
187 spin_unlock(&root->fs_info->defrag_inodes_lock); in btrfs_add_inode_defrag()
209 spin_lock(&root->fs_info->defrag_inodes_lock); in btrfs_requeue_inode_defrag()
211 spin_unlock(&root->fs_info->defrag_inodes_lock); in btrfs_requeue_inode_defrag()
224 btrfs_pick_defrag_inode(struct btrfs_fs_info *fs_info, u64 root, u64 ino) in btrfs_pick_defrag_inode() argument
235 spin_lock(&fs_info->defrag_inodes_lock); in btrfs_pick_defrag_inode()
236 p = fs_info->defrag_inodes.rb_node; in btrfs_pick_defrag_inode()
259 rb_erase(parent, &fs_info->defrag_inodes); in btrfs_pick_defrag_inode()
260 spin_unlock(&fs_info->defrag_inodes_lock); in btrfs_pick_defrag_inode()
264 void btrfs_cleanup_defrag_inodes(struct btrfs_fs_info *fs_info) in btrfs_cleanup_defrag_inodes() argument
269 spin_lock(&fs_info->defrag_inodes_lock); in btrfs_cleanup_defrag_inodes()
270 node = rb_first(&fs_info->defrag_inodes); in btrfs_cleanup_defrag_inodes()
272 rb_erase(node, &fs_info->defrag_inodes); in btrfs_cleanup_defrag_inodes()
276 cond_resched_lock(&fs_info->defrag_inodes_lock); in btrfs_cleanup_defrag_inodes()
278 node = rb_first(&fs_info->defrag_inodes); in btrfs_cleanup_defrag_inodes()
280 spin_unlock(&fs_info->defrag_inodes_lock); in btrfs_cleanup_defrag_inodes()
285 static int __btrfs_run_defrag_inode(struct btrfs_fs_info *fs_info, in __btrfs_run_defrag_inode() argument
301 index = srcu_read_lock(&fs_info->subvol_srcu); in __btrfs_run_defrag_inode()
303 inode_root = btrfs_read_fs_root_no_name(fs_info, &key); in __btrfs_run_defrag_inode()
312 inode = btrfs_iget(fs_info->sb, &key, inode_root, NULL); in __btrfs_run_defrag_inode()
317 srcu_read_unlock(&fs_info->subvol_srcu, index); in __btrfs_run_defrag_inode()
325 sb_start_write(fs_info->sb); in __btrfs_run_defrag_inode()
328 sb_end_write(fs_info->sb); in __btrfs_run_defrag_inode()
353 srcu_read_unlock(&fs_info->subvol_srcu, index); in __btrfs_run_defrag_inode()
362 int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info) in btrfs_run_defrag_inodes() argument
368 atomic_inc(&fs_info->defrag_running); in btrfs_run_defrag_inodes()
372 &fs_info->fs_state)) in btrfs_run_defrag_inodes()
375 if (!__need_auto_defrag(fs_info->tree_root)) in btrfs_run_defrag_inodes()
379 defrag = btrfs_pick_defrag_inode(fs_info, root_objectid, in btrfs_run_defrag_inodes()
394 __btrfs_run_defrag_inode(fs_info, defrag); in btrfs_run_defrag_inodes()
396 atomic_dec(&fs_info->defrag_running); in btrfs_run_defrag_inodes()
402 wake_up(&fs_info->transaction_wait); in btrfs_run_defrag_inodes()
726 root == root->fs_info->tree_root); in __btrfs_drop_extents()
875 btrfs_set_item_key_safe(root->fs_info, path, &new_key); in __btrfs_drop_extents()
1133 btrfs_set_item_key_safe(root->fs_info, path, &new_key); in btrfs_mark_extent_written()
1167 btrfs_set_item_key_safe(root->fs_info, path, &new_key); in btrfs_mark_extent_written()
1787 if (test_bit(BTRFS_FS_STATE_ERROR, &root->fs_info->fs_state)) { in btrfs_file_write_iter()
2000 if (btrfs_inode_in_log(inode, root->fs_info->generation) || in btrfs_sync_file()
2002 root->fs_info->last_trans_committed && in btrfs_sync_file()
2162 if (btrfs_fs_incompat(root->fs_info, NO_HOLES)) in fill_holes()
2194 btrfs_set_item_key_safe(root->fs_info, path, &key); in fill_holes()
2230 hole_em->bdev = root->fs_info->fs_devices->latest_bdev; in fill_holes()
2299 bool no_holes = btrfs_fs_incompat(root->fs_info, NO_HOLES); in btrfs_punch_hole()
2455 ret = btrfs_block_rsv_migrate(&root->fs_info->trans_block_rsv, rsv, in btrfs_punch_hole()
2469 trans->block_rsv = &root->fs_info->trans_block_rsv; in btrfs_punch_hole()
2498 ret = btrfs_block_rsv_migrate(&root->fs_info->trans_block_rsv, in btrfs_punch_hole()
2517 trans->block_rsv = &root->fs_info->trans_block_rsv; in btrfs_punch_hole()
2551 trans->block_rsv = &root->fs_info->trans_block_rsv; in btrfs_punch_hole()