Lines Matching refs:delayed_root

84 	return root->fs_info->delayed_root;  in btrfs_get_delayed_root()
206 struct btrfs_delayed_root *delayed_root) in btrfs_first_delayed_node() argument
211 spin_lock(&delayed_root->lock); in btrfs_first_delayed_node()
212 if (list_empty(&delayed_root->node_list)) in btrfs_first_delayed_node()
215 p = delayed_root->node_list.next; in btrfs_first_delayed_node()
219 spin_unlock(&delayed_root->lock); in btrfs_first_delayed_node()
227 struct btrfs_delayed_root *delayed_root; in btrfs_next_delayed_node() local
231 delayed_root = node->root->fs_info->delayed_root; in btrfs_next_delayed_node()
232 spin_lock(&delayed_root->lock); in btrfs_next_delayed_node()
235 if (list_empty(&delayed_root->node_list)) in btrfs_next_delayed_node()
237 p = delayed_root->node_list.next; in btrfs_next_delayed_node()
238 } else if (list_is_last(&node->n_list, &delayed_root->node_list)) in btrfs_next_delayed_node()
246 spin_unlock(&delayed_root->lock); in btrfs_next_delayed_node()
255 struct btrfs_delayed_root *delayed_root; in __btrfs_release_delayed_node() local
260 delayed_root = delayed_node->root->fs_info->delayed_root; in __btrfs_release_delayed_node()
264 btrfs_queue_delayed_node(delayed_root, delayed_node, mod); in __btrfs_release_delayed_node()
266 btrfs_dequeue_delayed_node(delayed_root, delayed_node); in __btrfs_release_delayed_node()
290 struct btrfs_delayed_root *delayed_root) in btrfs_first_prepared_delayed_node() argument
295 spin_lock(&delayed_root->lock); in btrfs_first_prepared_delayed_node()
296 if (list_empty(&delayed_root->prepare_list)) in btrfs_first_prepared_delayed_node()
299 p = delayed_root->prepare_list.next; in btrfs_first_prepared_delayed_node()
304 spin_unlock(&delayed_root->lock); in btrfs_first_prepared_delayed_node()
445 atomic_inc(&delayed_node->root->fs_info->delayed_root->items); in __btrfs_add_delayed_item()
463 static void finish_one_item(struct btrfs_delayed_root *delayed_root) in finish_one_item() argument
465 int seq = atomic_inc_return(&delayed_root->items_seq); in finish_one_item()
470 if ((atomic_dec_return(&delayed_root->items) < in finish_one_item()
472 waitqueue_active(&delayed_root->wait)) in finish_one_item()
473 wake_up(&delayed_root->wait); in finish_one_item()
479 struct btrfs_delayed_root *delayed_root; in __btrfs_remove_delayed_item() local
481 delayed_root = delayed_item->delayed_node->root->fs_info->delayed_root; in __btrfs_remove_delayed_item()
483 BUG_ON(!delayed_root); in __btrfs_remove_delayed_item()
495 finish_one_item(delayed_root); in __btrfs_remove_delayed_item()
1012 struct btrfs_delayed_root *delayed_root; in btrfs_release_delayed_inode() local
1020 delayed_root = delayed_node->root->fs_info->delayed_root; in btrfs_release_delayed_inode()
1021 finish_one_item(delayed_root); in btrfs_release_delayed_inode()
1027 struct btrfs_delayed_root *delayed_root; in btrfs_release_delayed_iref() local
1033 delayed_root = delayed_node->root->fs_info->delayed_root; in btrfs_release_delayed_iref()
1034 finish_one_item(delayed_root); in btrfs_release_delayed_iref()
1165 struct btrfs_delayed_root *delayed_root; in __btrfs_run_delayed_items() local
1183 delayed_root = btrfs_get_delayed_root(root); in __btrfs_run_delayed_items()
1185 curr_node = btrfs_first_delayed_node(delayed_root); in __btrfs_run_delayed_items()
1326 struct btrfs_delayed_root *delayed_root; member
1334 struct btrfs_delayed_root *delayed_root; in btrfs_async_run_delayed_root() local
1343 delayed_root = async_work->delayed_root; in btrfs_async_run_delayed_root()
1350 if (atomic_read(&delayed_root->items) < BTRFS_DELAYED_BACKGROUND / 2) in btrfs_async_run_delayed_root()
1353 delayed_node = btrfs_first_prepared_delayed_node(delayed_root); in btrfs_async_run_delayed_root()
1384 wake_up(&delayed_root->wait); in btrfs_async_run_delayed_root()
1389 static int btrfs_wq_run_delayed_node(struct btrfs_delayed_root *delayed_root, in btrfs_wq_run_delayed_node() argument
1394 if (atomic_read(&delayed_root->items) < BTRFS_DELAYED_BACKGROUND) in btrfs_wq_run_delayed_node()
1401 async_work->delayed_root = delayed_root; in btrfs_wq_run_delayed_node()
1412 struct btrfs_delayed_root *delayed_root; in btrfs_assert_delayed_root_empty() local
1413 delayed_root = btrfs_get_delayed_root(root); in btrfs_assert_delayed_root_empty()
1414 WARN_ON(btrfs_first_delayed_node(delayed_root)); in btrfs_assert_delayed_root_empty()
1417 static int could_end_wait(struct btrfs_delayed_root *delayed_root, int seq) in could_end_wait() argument
1419 int val = atomic_read(&delayed_root->items_seq); in could_end_wait()
1424 if (atomic_read(&delayed_root->items) < BTRFS_DELAYED_BACKGROUND) in could_end_wait()
1432 struct btrfs_delayed_root *delayed_root; in btrfs_balance_delayed_items() local
1435 delayed_root = btrfs_get_delayed_root(root); in btrfs_balance_delayed_items()
1437 if (atomic_read(&delayed_root->items) < BTRFS_DELAYED_BACKGROUND) in btrfs_balance_delayed_items()
1440 if (atomic_read(&delayed_root->items) >= BTRFS_DELAYED_WRITEBACK) { in btrfs_balance_delayed_items()
1444 seq = atomic_read(&delayed_root->items_seq); in btrfs_balance_delayed_items()
1446 ret = btrfs_wq_run_delayed_node(delayed_root, fs_info, 0); in btrfs_balance_delayed_items()
1450 wait_event_interruptible(delayed_root->wait, in btrfs_balance_delayed_items()
1451 could_end_wait(delayed_root, seq)); in btrfs_balance_delayed_items()
1455 btrfs_wq_run_delayed_node(delayed_root, fs_info, BTRFS_DELAYED_BATCH); in btrfs_balance_delayed_items()
1863 atomic_inc(&root->fs_info->delayed_root->items); in btrfs_delayed_update_inode()
1906 atomic_inc(&BTRFS_I(inode)->root->fs_info->delayed_root->items); in btrfs_delayed_delete_inode_ref()
1988 struct btrfs_delayed_root *delayed_root; in btrfs_destroy_delayed_inodes() local
1991 delayed_root = btrfs_get_delayed_root(root); in btrfs_destroy_delayed_inodes()
1993 curr_node = btrfs_first_delayed_node(delayed_root); in btrfs_destroy_delayed_inodes()