OSDN Git Service

btrfs: manage metadata_ratio mount option as %u
authorAnand Jain <anand.jain@oracle.com>
Tue, 13 Feb 2018 09:50:44 +0000 (17:50 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 26 Mar 2018 13:09:33 +0000 (15:09 +0200)
As metadata_ratio mount option is unsinged so manage it as %u for token
verifications, instead of %d.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c

index 790f3ab..79900e1 100644 (file)
@@ -361,7 +361,7 @@ static const match_table_t tokens = {
        {Opt_norecovery, "norecovery"},
        {Opt_flushoncommit, "flushoncommit"},
        {Opt_noflushoncommit, "noflushoncommit"},
-       {Opt_ratio, "metadata_ratio=%d"},
+       {Opt_ratio, "metadata_ratio=%u"},
        {Opt_discard, "discard"},
        {Opt_nodiscard, "nodiscard"},
        {Opt_space_cache, "space_cache"},
@@ -657,16 +657,11 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options,
                        break;
                case Opt_ratio:
                        ret = match_int(&args[0], &intarg);
-                       if (ret) {
-                               goto out;
-                       } else if (intarg >= 0) {
-                               info->metadata_ratio = intarg;
-                               btrfs_info(info, "metadata ratio %d",
-                                          info->metadata_ratio);
-                       } else {
-                               ret = -EINVAL;
+                       if (ret)
                                goto out;
-                       }
+                       info->metadata_ratio = intarg;
+                       btrfs_info(info, "metadata ratio %u",
+                                  info->metadata_ratio);
                        break;
                case Opt_discard:
                        btrfs_set_and_info(info, DISCARD,
@@ -1339,8 +1334,7 @@ static int btrfs_show_options(struct seq_file *seq, struct dentry *dentry)
                                info->check_integrity_print_mask);
 #endif
        if (info->metadata_ratio)
-               seq_printf(seq, ",metadata_ratio=%d",
-                               info->metadata_ratio);
+               seq_printf(seq, ",metadata_ratio=%u", info->metadata_ratio);
        if (btrfs_test_opt(info, PANIC_ON_FATAL_ERROR))
                seq_puts(seq, ",fatal_errors=panic");
        if (info->commit_interval != BTRFS_DEFAULT_COMMIT_INTERVAL)