Jiri Slaby 4912de
From: Christoph Hellwig <hch@lst.de>
Jiri Slaby 4912de
Date: Tue, 28 Mar 2023 12:56:13 +0900
Jiri Slaby 4912de
Subject: [PATCH] btrfs: restore the thread_pool= behavior in remount for the
Jiri Slaby 4912de
 end I/O workqueues
Jiri Slaby 4912de
References: bsc#1012628
Jiri Slaby 4912de
Patch-mainline: 6.2.12
Jiri Slaby 4912de
Git-commit: 40fac6472f22a59f5694496e179988ab4a1dfe07
Jiri Slaby 4912de
Jiri Slaby 4912de
commit 40fac6472f22a59f5694496e179988ab4a1dfe07 upstream.
Jiri Slaby 4912de
Jiri Slaby 4912de
Commit d7b9416fe5c5 ("btrfs: remove btrfs_end_io_wq") converted the read
Jiri Slaby 4912de
and I/O handling from btrfs_workqueues to Linux workqueues, and as part
Jiri Slaby 4912de
of that lost the code to apply the thread_pool= based max_active limit
Jiri Slaby 4912de
on remount.  Restore it.
Jiri Slaby 4912de
Jiri Slaby 4912de
Fixes: d7b9416fe5c5 ("btrfs: remove btrfs_end_io_wq")
Jiri Slaby 4912de
CC: stable@vger.kernel.org # 6.0+
Jiri Slaby 4912de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Jiri Slaby 4912de
Reviewed-by: David Sterba <dsterba@suse.com>
Jiri Slaby 4912de
Signed-off-by: David Sterba <dsterba@suse.com>
Jiri Slaby 4912de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jiri Slaby 4912de
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby 4912de
---
Jiri Slaby 4912de
 fs/btrfs/super.c | 2 ++
Jiri Slaby 4912de
 1 file changed, 2 insertions(+)
Jiri Slaby 4912de
Jiri Slaby 4912de
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
Jiri Slaby 4912de
index 433ce221..8dd8f56b 100644
Jiri Slaby 4912de
--- a/fs/btrfs/super.c
Jiri Slaby 4912de
+++ b/fs/btrfs/super.c
Jiri Slaby 4912de
@@ -1630,6 +1630,8 @@ static void btrfs_resize_thread_pool(struct btrfs_fs_info *fs_info,
Jiri Slaby 4912de
 	btrfs_workqueue_set_max(fs_info->hipri_workers, new_pool_size);
Jiri Slaby 4912de
 	btrfs_workqueue_set_max(fs_info->delalloc_workers, new_pool_size);
Jiri Slaby 4912de
 	btrfs_workqueue_set_max(fs_info->caching_workers, new_pool_size);
Jiri Slaby 4912de
+	workqueue_set_max_active(fs_info->endio_workers, new_pool_size);
Jiri Slaby 4912de
+	workqueue_set_max_active(fs_info->endio_meta_workers, new_pool_size);
Jiri Slaby 4912de
 	btrfs_workqueue_set_max(fs_info->endio_write_workers, new_pool_size);
Jiri Slaby 4912de
 	btrfs_workqueue_set_max(fs_info->endio_freespace_worker, new_pool_size);
Jiri Slaby 4912de
 	btrfs_workqueue_set_max(fs_info->delayed_workers, new_pool_size);
Jiri Slaby 4912de
-- 
Jiri Slaby 4912de
2.35.3
Jiri Slaby 4912de