Lines Matching refs:async

2721 	struct async_delayed_refs *async;  in delayed_ref_async_start()  local
2725 async = container_of(work, struct async_delayed_refs, work); in delayed_ref_async_start()
2727 trans = btrfs_join_transaction(async->root); in delayed_ref_async_start()
2729 async->error = PTR_ERR(trans); in delayed_ref_async_start()
2738 ret = btrfs_run_delayed_refs(trans, async->root, async->count); in delayed_ref_async_start()
2740 async->error = ret; in delayed_ref_async_start()
2742 ret = btrfs_end_transaction(trans, async->root); in delayed_ref_async_start()
2743 if (ret && !async->error) in delayed_ref_async_start()
2744 async->error = ret; in delayed_ref_async_start()
2746 if (async->sync) in delayed_ref_async_start()
2747 complete(&async->wait); in delayed_ref_async_start()
2749 kfree(async); in delayed_ref_async_start()
2755 struct async_delayed_refs *async; in btrfs_async_run_delayed_refs() local
2758 async = kmalloc(sizeof(*async), GFP_NOFS); in btrfs_async_run_delayed_refs()
2759 if (!async) in btrfs_async_run_delayed_refs()
2762 async->root = root->fs_info->tree_root; in btrfs_async_run_delayed_refs()
2763 async->count = count; in btrfs_async_run_delayed_refs()
2764 async->error = 0; in btrfs_async_run_delayed_refs()
2766 async->sync = 1; in btrfs_async_run_delayed_refs()
2768 async->sync = 0; in btrfs_async_run_delayed_refs()
2769 init_completion(&async->wait); in btrfs_async_run_delayed_refs()
2771 btrfs_init_work(&async->work, btrfs_extent_refs_helper, in btrfs_async_run_delayed_refs()
2774 btrfs_queue_work(root->fs_info->extent_workers, &async->work); in btrfs_async_run_delayed_refs()
2777 wait_for_completion(&async->wait); in btrfs_async_run_delayed_refs()
2778 ret = async->error; in btrfs_async_run_delayed_refs()
2779 kfree(async); in btrfs_async_run_delayed_refs()