Commit f7b885be authored by Anand Jain's avatar Anand Jain Committed by David Sterba

btrfs: manage thread_pool mount option as %u

The mount option thread_pool is always unsigned. Manage it that way all
around.
Signed-off-by: default avatarAnand Jain <anand.jain@oracle.com>
Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent ba020491
...@@ -935,7 +935,7 @@ struct btrfs_fs_info { ...@@ -935,7 +935,7 @@ struct btrfs_fs_info {
struct btrfs_workqueue *extent_workers; struct btrfs_workqueue *extent_workers;
struct task_struct *transaction_kthread; struct task_struct *transaction_kthread;
struct task_struct *cleaner_kthread; struct task_struct *cleaner_kthread;
int thread_pool_size; u32 thread_pool_size;
struct kobject *space_info_kobj; struct kobject *space_info_kobj;
......
...@@ -2183,7 +2183,7 @@ static void btrfs_init_qgroup(struct btrfs_fs_info *fs_info) ...@@ -2183,7 +2183,7 @@ static void btrfs_init_qgroup(struct btrfs_fs_info *fs_info)
static int btrfs_init_workqueues(struct btrfs_fs_info *fs_info, static int btrfs_init_workqueues(struct btrfs_fs_info *fs_info,
struct btrfs_fs_devices *fs_devices) struct btrfs_fs_devices *fs_devices)
{ {
int max_active = fs_info->thread_pool_size; u32 max_active = fs_info->thread_pool_size;
unsigned int flags = WQ_MEM_RECLAIM | WQ_FREEZABLE | WQ_UNBOUND; unsigned int flags = WQ_MEM_RECLAIM | WQ_FREEZABLE | WQ_UNBOUND;
fs_info->workers = fs_info->workers =
...@@ -2404,7 +2404,7 @@ int open_ctree(struct super_block *sb, ...@@ -2404,7 +2404,7 @@ int open_ctree(struct super_block *sb,
int err = -EINVAL; int err = -EINVAL;
int num_backups_tried = 0; int num_backups_tried = 0;
int backup_index = 0; int backup_index = 0;
int max_active; u32 max_active;
int clear_free_space_tree = 0; int clear_free_space_tree = 0;
tree_root = fs_info->tree_root = btrfs_alloc_root(fs_info, GFP_KERNEL); tree_root = fs_info->tree_root = btrfs_alloc_root(fs_info, GFP_KERNEL);
......
...@@ -345,7 +345,7 @@ static const match_table_t tokens = { ...@@ -345,7 +345,7 @@ static const match_table_t tokens = {
{Opt_barrier, "barrier"}, {Opt_barrier, "barrier"},
{Opt_max_inline, "max_inline=%s"}, {Opt_max_inline, "max_inline=%s"},
{Opt_alloc_start, "alloc_start=%s"}, {Opt_alloc_start, "alloc_start=%s"},
{Opt_thread_pool, "thread_pool=%d"}, {Opt_thread_pool, "thread_pool=%u"},
{Opt_compress, "compress"}, {Opt_compress, "compress"},
{Opt_compress_type, "compress=%s"}, {Opt_compress_type, "compress=%s"},
{Opt_compress_force, "compress-force"}, {Opt_compress_force, "compress-force"},
...@@ -594,12 +594,11 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options, ...@@ -594,12 +594,11 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options,
ret = match_int(&args[0], &intarg); ret = match_int(&args[0], &intarg);
if (ret) { if (ret) {
goto out; goto out;
} else if (intarg > 0) { } else if (intarg == 0) {
info->thread_pool_size = intarg;
} else {
ret = -EINVAL; ret = -EINVAL;
goto out; goto out;
} }
info->thread_pool_size = intarg;
break; break;
case Opt_max_inline: case Opt_max_inline:
num = match_strdup(&args[0]); num = match_strdup(&args[0]);
...@@ -1284,7 +1283,7 @@ static int btrfs_show_options(struct seq_file *seq, struct dentry *dentry) ...@@ -1284,7 +1283,7 @@ static int btrfs_show_options(struct seq_file *seq, struct dentry *dentry)
seq_printf(seq, ",max_inline=%llu", info->max_inline); seq_printf(seq, ",max_inline=%llu", info->max_inline);
if (info->thread_pool_size != min_t(unsigned long, if (info->thread_pool_size != min_t(unsigned long,
num_online_cpus() + 2, 8)) num_online_cpus() + 2, 8))
seq_printf(seq, ",thread_pool=%d", info->thread_pool_size); seq_printf(seq, ",thread_pool=%u", info->thread_pool_size);
if (btrfs_test_opt(info, COMPRESS)) { if (btrfs_test_opt(info, COMPRESS)) {
compress_type = btrfs_compress_type2str(info->compress_type); compress_type = btrfs_compress_type2str(info->compress_type);
if (btrfs_test_opt(info, FORCE_COMPRESS)) if (btrfs_test_opt(info, FORCE_COMPRESS))
...@@ -1690,7 +1689,7 @@ static struct dentry *btrfs_mount(struct file_system_type *fs_type, int flags, ...@@ -1690,7 +1689,7 @@ static struct dentry *btrfs_mount(struct file_system_type *fs_type, int flags,
} }
static void btrfs_resize_thread_pool(struct btrfs_fs_info *fs_info, static void btrfs_resize_thread_pool(struct btrfs_fs_info *fs_info,
int new_pool_size, int old_pool_size) u32 new_pool_size, u32 old_pool_size)
{ {
if (new_pool_size == old_pool_size) if (new_pool_size == old_pool_size)
return; return;
...@@ -1758,7 +1757,7 @@ static int btrfs_remount(struct super_block *sb, int *flags, char *data) ...@@ -1758,7 +1757,7 @@ static int btrfs_remount(struct super_block *sb, int *flags, char *data)
unsigned long old_opts = fs_info->mount_opt; unsigned long old_opts = fs_info->mount_opt;
unsigned long old_compress_type = fs_info->compress_type; unsigned long old_compress_type = fs_info->compress_type;
u64 old_max_inline = fs_info->max_inline; u64 old_max_inline = fs_info->max_inline;
int old_thread_pool_size = fs_info->thread_pool_size; u32 old_thread_pool_size = fs_info->thread_pool_size;
unsigned int old_metadata_ratio = fs_info->metadata_ratio; unsigned int old_metadata_ratio = fs_info->metadata_ratio;
int ret; int ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment