summaryrefslogtreecommitdiff
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
authorLukas Czerner <lczerner@redhat.com>2013-04-11 23:37:19 -0400
committerTheodore Ts'o <tytso@mit.edu>2013-04-11 23:37:19 -0400
commite1091b157c330a21bb0eaa881efe0489a1697ed7 (patch)
treec6e21fba69f6d306777096f1f14ad94c7d8990ea /fs/ext4/super.c
parent7e8b12c60ad38fb90a162df4e6fc120e3bee104e (diff)
downloadlwn-e1091b157c330a21bb0eaa881efe0489a1697ed7.tar.gz
lwn-e1091b157c330a21bb0eaa881efe0489a1697ed7.zip
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.c27
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;
}