Lines Matching defs:caching_ctl

373 	if (!cache->caching_ctl) {
378 ctl = cache->caching_ctl;
406 struct btrfs_caching_control *caching_ctl;
408 caching_ctl = btrfs_get_caching_control(cache);
409 if (!caching_ctl)
412 wait_event(caching_ctl->wait, btrfs_block_group_done(cache) ||
415 btrfs_put_caching_control(caching_ctl);
420 struct btrfs_caching_control *caching_ctl;
423 caching_ctl = btrfs_get_caching_control(cache);
424 if (!caching_ctl)
427 wait_event(caching_ctl->wait, btrfs_block_group_done(cache));
430 btrfs_put_caching_control(caching_ctl);
500 static int load_extent_tree_free(struct btrfs_caching_control *caching_ctl)
502 struct btrfs_block_group *block_group = caching_ctl->block_group;
567 caching_ctl->progress = last;
570 mutex_unlock(&caching_ctl->mutex);
572 mutex_lock(&caching_ctl->mutex);
593 caching_ctl->progress = last;
619 wake_up(&caching_ctl->wait);
628 caching_ctl->progress = (u64)-1;
639 struct btrfs_caching_control *caching_ctl;
642 caching_ctl = container_of(work, struct btrfs_caching_control, work);
643 block_group = caching_ctl->block_group;
646 mutex_lock(&caching_ctl->mutex);
658 ret = load_free_space_tree(caching_ctl);
660 ret = load_extent_tree_free(caching_ctl);
663 block_group->caching_ctl = NULL;
681 caching_ctl->progress = (u64)-1;
685 mutex_unlock(&caching_ctl->mutex);
687 wake_up(&caching_ctl->wait);
689 btrfs_put_caching_control(caching_ctl);
697 struct btrfs_caching_control *caching_ctl;
700 caching_ctl = kzalloc(sizeof(*caching_ctl), GFP_NOFS);
701 if (!caching_ctl)
704 INIT_LIST_HEAD(&caching_ctl->list);
705 mutex_init(&caching_ctl->mutex);
706 init_waitqueue_head(&caching_ctl->wait);
707 caching_ctl->block_group = cache;
708 caching_ctl->progress = cache->start;
709 refcount_set(&caching_ctl->count, 1);
710 btrfs_init_work(&caching_ctl->work, caching_thread, NULL, NULL);
728 ctl = cache->caching_ctl;
742 kfree(caching_ctl);
745 WARN_ON(cache->caching_ctl);
746 cache->caching_ctl = caching_ctl;
751 mutex_lock(&caching_ctl->mutex);
756 cache->caching_ctl = NULL;
759 caching_ctl->progress = (u64)-1;
762 cache->caching_ctl = NULL;
784 mutex_unlock(&caching_ctl->mutex);
786 wake_up(&caching_ctl->wait);
788 btrfs_put_caching_control(caching_ctl);
799 cache->caching_ctl = NULL;
806 wake_up(&caching_ctl->wait);
810 btrfs_put_caching_control(caching_ctl);
815 refcount_inc(&caching_ctl->count);
816 list_add_tail(&caching_ctl->list, &fs_info->caching_block_groups);
821 btrfs_queue_work(fs_info->caching_workers, &caching_ctl->work);
917 struct btrfs_caching_control *caching_ctl = NULL;
1057 caching_ctl = btrfs_get_caching_control(block_group);
1062 if (!caching_ctl) {
1068 caching_ctl = ctl;
1069 refcount_inc(&caching_ctl->count);
1073 if (caching_ctl)
1074 list_del_init(&caching_ctl->list);
1076 if (caching_ctl) {
1078 btrfs_put_caching_control(caching_ctl);
1079 btrfs_put_caching_control(caching_ctl);
3338 struct btrfs_caching_control *caching_ctl;
3343 caching_ctl = list_entry(info->caching_block_groups.next,
3345 list_del(&caching_ctl->list);
3346 btrfs_put_caching_control(caching_ctl);