Lines Matching defs:delayed_root
207 struct btrfs_delayed_root *delayed_root)
212 spin_lock(&delayed_root->lock);
213 if (list_empty(&delayed_root->node_list))
216 p = delayed_root->node_list.next;
220 spin_unlock(&delayed_root->lock);
228 struct btrfs_delayed_root *delayed_root;
232 delayed_root = node->root->fs_info->delayed_root;
233 spin_lock(&delayed_root->lock);
236 if (list_empty(&delayed_root->node_list))
238 p = delayed_root->node_list.next;
239 } else if (list_is_last(&node->n_list, &delayed_root->node_list))
247 spin_unlock(&delayed_root->lock);
256 struct btrfs_delayed_root *delayed_root;
261 delayed_root = delayed_node->root->fs_info->delayed_root;
265 btrfs_queue_delayed_node(delayed_root, delayed_node, mod);
267 btrfs_dequeue_delayed_node(delayed_root, delayed_node);
292 struct btrfs_delayed_root *delayed_root)
297 spin_lock(&delayed_root->lock);
298 if (list_empty(&delayed_root->prepare_list))
301 p = delayed_root->prepare_list.next;
306 spin_unlock(&delayed_root->lock);
447 atomic_inc(&delayed_node->root->fs_info->delayed_root->items);
465 static void finish_one_item(struct btrfs_delayed_root *delayed_root)
467 int seq = atomic_inc_return(&delayed_root->items_seq);
470 if ((atomic_dec_return(&delayed_root->items) <
472 cond_wake_up_nomb(&delayed_root->wait);
478 struct btrfs_delayed_root *delayed_root;
483 delayed_root = delayed_item->delayed_node->root->fs_info->delayed_root;
485 BUG_ON(!delayed_root);
497 finish_one_item(delayed_root);
985 struct btrfs_delayed_root *delayed_root;
993 delayed_root = delayed_node->root->fs_info->delayed_root;
994 finish_one_item(delayed_root);
1000 struct btrfs_delayed_root *delayed_root;
1006 delayed_root = delayed_node->root->fs_info->delayed_root;
1007 finish_one_item(delayed_root);
1151 struct btrfs_delayed_root *delayed_root;
1169 delayed_root = fs_info->delayed_root;
1171 curr_node = btrfs_first_delayed_node(delayed_root);
1324 struct btrfs_delayed_root *delayed_root;
1332 struct btrfs_delayed_root *delayed_root;
1341 delayed_root = async_work->delayed_root;
1348 if (atomic_read(&delayed_root->items) <
1352 delayed_node = btrfs_first_prepared_delayed_node(delayed_root);
1385 wake_up(&delayed_root->wait);
1390 static int btrfs_wq_run_delayed_node(struct btrfs_delayed_root *delayed_root,
1399 async_work->delayed_root = delayed_root;
1410 WARN_ON(btrfs_first_delayed_node(fs_info->delayed_root));
1413 static int could_end_wait(struct btrfs_delayed_root *delayed_root, int seq)
1415 int val = atomic_read(&delayed_root->items_seq);
1420 if (atomic_read(&delayed_root->items) < BTRFS_DELAYED_BACKGROUND)
1428 struct btrfs_delayed_root *delayed_root = fs_info->delayed_root;
1430 if ((atomic_read(&delayed_root->items) < BTRFS_DELAYED_BACKGROUND) ||
1434 if (atomic_read(&delayed_root->items) >= BTRFS_DELAYED_WRITEBACK) {
1438 seq = atomic_read(&delayed_root->items_seq);
1440 ret = btrfs_wq_run_delayed_node(delayed_root, fs_info, 0);
1444 wait_event_interruptible(delayed_root->wait,
1445 could_end_wait(delayed_root, seq));
1449 btrfs_wq_run_delayed_node(delayed_root, fs_info, BTRFS_DELAYED_BATCH);
1872 atomic_inc(&root->fs_info->delayed_root->items);
1916 atomic_inc(&fs_info->delayed_root->items);
2008 curr_node = btrfs_first_delayed_node(fs_info->delayed_root);