if (fs_info->rmw_workers)
destroy_workqueue(fs_info->rmw_workers);
btrfs_destroy_workqueue(fs_info->endio_write_workers);
- btrfs_destroy_workqueue(fs_info->endio_freespace_worker);
btrfs_destroy_workqueue(fs_info->delayed_workers);
btrfs_destroy_workqueue(fs_info->caching_workers);
btrfs_destroy_workqueue(fs_info->flush_workers);
fs_info->endio_write_workers =
btrfs_alloc_workqueue(fs_info, "endio-write", flags,
max_active, 2);
- fs_info->endio_freespace_worker =
- btrfs_alloc_workqueue(fs_info, "freespace-write", flags,
- max_active, 0);
fs_info->delayed_workers =
btrfs_alloc_workqueue(fs_info, "delayed-meta", flags,
max_active, 0);
if (!(fs_info->workers &&
fs_info->delalloc_workers && fs_info->flush_workers &&
fs_info->endio_workers && fs_info->endio_meta_workers &&
- fs_info->endio_write_workers &&
- fs_info->endio_freespace_worker && fs_info->rmw_workers &&
+ fs_info->endio_write_workers && fs_info->rmw_workers &&
fs_info->caching_workers && fs_info->fixup_workers &&
fs_info->delayed_workers && fs_info->qgroup_rescan_workers &&
fs_info->discard_ctl.discard_workers)) {
* to finish an ordered extent - end_bbio_compressed_write()
* calls btrfs_finish_ordered_extent() which in turns does a call to
* btrfs_queue_ordered_fn(), and that queues the ordered extent
- * completion either in the endio_write_workers work queue or in the
- * fs_info->endio_freespace_worker work queue. We flush those queues
- * below, so before we flush them we must flush this queue for the
+ * completion in the endio_write_workers work queue. We flush that
+ * queue below, so before we flush it we must flush this queue for the
* workers of compressed writes.
*/
flush_workqueue(fs_info->endio_workers);
* btrfs_finish_ordered_io() when we are unmounting).
*/
btrfs_flush_workqueue(fs_info->endio_write_workers);
- /* Ordered extents for free space inodes. */
- btrfs_flush_workqueue(fs_info->endio_freespace_worker);
/*
* Run delayed iputs in case an async reclaim worker is waiting for them
* to be run as mentioned above.
static void btrfs_queue_ordered_fn(struct btrfs_ordered_extent *ordered)
{
- struct btrfs_inode *inode = ordered->inode;
- struct btrfs_fs_info *fs_info = inode->root->fs_info;
- struct btrfs_workqueue *wq = btrfs_is_free_space_inode(inode) ?
- fs_info->endio_freespace_worker : fs_info->endio_write_workers;
+ struct btrfs_fs_info *fs_info = ordered->inode->root->fs_info;
btrfs_init_work(&ordered->work, finish_ordered_fn, NULL);
- btrfs_queue_work(wq, &ordered->work);
+ btrfs_queue_work(fs_info->endio_write_workers, &ordered->work);
}
void btrfs_finish_ordered_extent(struct btrfs_ordered_extent *ordered,