diff options
author | Lukas Czerner <lczerner@redhat.com> | 2013-04-12 07:37:19 +0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-04-12 07:37:19 +0400 |
commit | e1091b157c330a21bb0eaa881efe0489a1697ed7 (patch) | |
tree | c6e21fba69f6d306777096f1f14ad94c7d8990ea /fs/ext4/super.c | |
parent | 7e8b12c60ad38fb90a162df4e6fc120e3bee104e (diff) | |
download | linux-e1091b157c330a21bb0eaa881efe0489a1697ed7.tar.xz |
ext4: Use kstrtoul() instead of parse_strtoul()
In parse_strtoul() we're still using deprecated simple_strtoul(). Remove
parse_strtoul() altogether and replace it with kstrtoul()
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r-- | fs/ext4/super.c | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index f355c28fa080..bfa29ecfb47a 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -2394,19 +2394,6 @@ static int parse_strtoull(const char *buf, return ret; } -static int parse_strtoul(const char *buf, - unsigned long max, unsigned long *value) -{ - char *endp; - - *value = simple_strtoul(skip_spaces(buf), &endp, 0); - endp = skip_spaces(endp); - if (*endp || *value > max) - return -EINVAL; - - return 0; -} - static ssize_t delayed_allocation_blocks_show(struct ext4_attr *a, struct ext4_sb_info *sbi, char *buf) @@ -2446,11 +2433,13 @@ static ssize_t inode_readahead_blks_store(struct ext4_attr *a, const char *buf, size_t count) { unsigned long t; + int ret; - if (parse_strtoul(buf, 0x40000000, &t)) - return -EINVAL; + ret = kstrtoul(skip_spaces(buf), 0, &t); + if (ret) + return ret; - if (t && !is_power_of_2(t)) + if (t && (!is_power_of_2(t) || t > 0x40000000)) return -EINVAL; sbi->s_inode_readahead_blks = t; @@ -2471,9 +2460,11 @@ static ssize_t sbi_ui_store(struct ext4_attr *a, { unsigned int *ui = (unsigned int *) (((char *) sbi) + a->offset); unsigned long t; + int ret; - if (parse_strtoul(buf, 0xffffffff, &t)) - return -EINVAL; + ret = kstrtoul(skip_spaces(buf), 0, &t); + if (ret) + return ret; *ui = t; return count; } |