aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/disk-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r--fs/btrfs/disk-io.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index d0e61d58b121..32a9ec11888d 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -2205,11 +2205,9 @@ static void btrfs_stop_all_workers(struct btrfs_fs_info *fs_info)
2205 btrfs_destroy_workqueue(fs_info->delalloc_workers); 2205 btrfs_destroy_workqueue(fs_info->delalloc_workers);
2206 btrfs_destroy_workqueue(fs_info->workers); 2206 btrfs_destroy_workqueue(fs_info->workers);
2207 btrfs_destroy_workqueue(fs_info->endio_workers); 2207 btrfs_destroy_workqueue(fs_info->endio_workers);
2208 btrfs_destroy_workqueue(fs_info->endio_meta_workers);
2209 btrfs_destroy_workqueue(fs_info->endio_raid56_workers); 2208 btrfs_destroy_workqueue(fs_info->endio_raid56_workers);
2210 btrfs_destroy_workqueue(fs_info->endio_repair_workers); 2209 btrfs_destroy_workqueue(fs_info->endio_repair_workers);
2211 btrfs_destroy_workqueue(fs_info->rmw_workers); 2210 btrfs_destroy_workqueue(fs_info->rmw_workers);
2212 btrfs_destroy_workqueue(fs_info->endio_meta_write_workers);
2213 btrfs_destroy_workqueue(fs_info->endio_write_workers); 2211 btrfs_destroy_workqueue(fs_info->endio_write_workers);
2214 btrfs_destroy_workqueue(fs_info->endio_freespace_worker); 2212 btrfs_destroy_workqueue(fs_info->endio_freespace_worker);
2215 btrfs_destroy_workqueue(fs_info->submit_workers); 2213 btrfs_destroy_workqueue(fs_info->submit_workers);
@@ -2219,6 +2217,13 @@ static void btrfs_stop_all_workers(struct btrfs_fs_info *fs_info)
2219 btrfs_destroy_workqueue(fs_info->flush_workers); 2217 btrfs_destroy_workqueue(fs_info->flush_workers);
2220 btrfs_destroy_workqueue(fs_info->qgroup_rescan_workers); 2218 btrfs_destroy_workqueue(fs_info->qgroup_rescan_workers);
2221 btrfs_destroy_workqueue(fs_info->extent_workers); 2219 btrfs_destroy_workqueue(fs_info->extent_workers);
2220 /*
2221 * Now that all other work queues are destroyed, we can safely destroy
2222 * the queues used for metadata I/O, since tasks from those other work
2223 * queues can do metadata I/O operations.
2224 */
2225 btrfs_destroy_workqueue(fs_info->endio_meta_workers);
2226 btrfs_destroy_workqueue(fs_info->endio_meta_write_workers);
2222} 2227}
2223 2228
2224static void free_root_extent_buffers(struct btrfs_root *root) 2229static void free_root_extent_buffers(struct btrfs_root *root)