Lines Matching refs:async

2825 	struct async_delayed_refs *async;  in delayed_ref_async_start()  local
2829 async = container_of(work, struct async_delayed_refs, work); in delayed_ref_async_start()
2831 trans = btrfs_join_transaction(async->root); in delayed_ref_async_start()
2833 async->error = PTR_ERR(trans); in delayed_ref_async_start()
2842 ret = btrfs_run_delayed_refs(trans, async->root, async->count); in delayed_ref_async_start()
2844 async->error = ret; in delayed_ref_async_start()
2846 ret = btrfs_end_transaction(trans, async->root); in delayed_ref_async_start()
2847 if (ret && !async->error) in delayed_ref_async_start()
2848 async->error = ret; in delayed_ref_async_start()
2850 if (async->sync) in delayed_ref_async_start()
2851 complete(&async->wait); in delayed_ref_async_start()
2853 kfree(async); in delayed_ref_async_start()
2859 struct async_delayed_refs *async; in btrfs_async_run_delayed_refs() local
2862 async = kmalloc(sizeof(*async), GFP_NOFS); in btrfs_async_run_delayed_refs()
2863 if (!async) in btrfs_async_run_delayed_refs()
2866 async->root = root->fs_info->tree_root; in btrfs_async_run_delayed_refs()
2867 async->count = count; in btrfs_async_run_delayed_refs()
2868 async->error = 0; in btrfs_async_run_delayed_refs()
2870 async->sync = 1; in btrfs_async_run_delayed_refs()
2872 async->sync = 0; in btrfs_async_run_delayed_refs()
2873 init_completion(&async->wait); in btrfs_async_run_delayed_refs()
2875 btrfs_init_work(&async->work, btrfs_extent_refs_helper, in btrfs_async_run_delayed_refs()
2878 btrfs_queue_work(root->fs_info->extent_workers, &async->work); in btrfs_async_run_delayed_refs()
2881 wait_for_completion(&async->wait); in btrfs_async_run_delayed_refs()
2882 ret = async->error; in btrfs_async_run_delayed_refs()
2883 kfree(async); in btrfs_async_run_delayed_refs()