Convert away from deprecated simple_strto*() interfaces.

Signed-off-by: Alexey Dobriyan <adobri...@gmail.com>
---

 fs/ext2/super.c |    6 ++++--
 fs/ext3/super.c |    7 ++++---
 fs/ext4/super.c |   15 +++++++--------
 3 files changed, 15 insertions(+), 13 deletions(-)

--- a/fs/ext2/super.c
+++ b/fs/ext2/super.c
@@ -383,16 +383,18 @@ static unsigned long get_sb_block(void **data)
 {
        unsigned long   sb_block;
        char            *options = (char *) *data;
+       int rv;
 
        if (!options || strncmp(options, "sb=", 3) != 0)
                return 1;       /* Default location */
        options += 3;
-       sb_block = simple_strtoul(options, &options, 0);
-       if (*options && *options != ',') {
+       rv = parse_integer(options, 0, &sb_block);
+       if (rv < 0 || (options[rv] && options[rv] != ',')) {
                printk("EXT2-fs: Invalid sb specification: %s\n",
                       (char *) *data);
                return 1;
        }
+       options += rv;
        if (*options == ',')
                options++;
        *data = (void *) options;
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -902,17 +902,18 @@ static ext3_fsblk_t get_sb_block(void **data, struct 
super_block *sb)
 {
        ext3_fsblk_t    sb_block;
        char            *options = (char *) *data;
+       int rv;
 
        if (!options || strncmp(options, "sb=", 3) != 0)
                return 1;       /* Default location */
        options += 3;
-       /*todo: use simple_strtoll with >32bit ext3 */
-       sb_block = simple_strtoul(options, &options, 0);
-       if (*options && *options != ',') {
+       rv = parse_integer(options, 0, &sb_block);
+       if (rv < 0 || (options[rv] && options[rv] != ',')) {
                ext3_msg(sb, KERN_ERR, "error: invalid sb specification: %s",
                       (char *) *data);
                return 1;
        }
+       options += rv;
        if (*options == ',')
                options++;
        *data = (void *) options;
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1210,18 +1210,19 @@ static ext4_fsblk_t get_sb_block(void **data)
 {
        ext4_fsblk_t    sb_block;
        char            *options = (char *) *data;
+       int rv;
 
        if (!options || strncmp(options, "sb=", 3) != 0)
                return 1;       /* Default location */
 
        options += 3;
-       /* TODO: use simple_strtoll with >32bit ext4 */
-       sb_block = simple_strtoul(options, &options, 0);
-       if (*options && *options != ',') {
+       rv = parse_integer(options, 0, &sb_block);
+       if (rv < 0 || (options[rv] && options[rv] != ',')) {
                printk(KERN_ERR "EXT4-fs: Invalid sb specification: %s\n",
                       (char *) *data);
                return 1;
        }
+       options += rv;
        if (*options == ',')
                options++;
        *data = (void *) options;
@@ -2491,10 +2492,10 @@ static ssize_t inode_readahead_blks_store(struct 
ext4_attr *a,
                                          struct ext4_sb_info *sbi,
                                          const char *buf, size_t count)
 {
-       unsigned long t;
+       unsigned int t;
        int ret;
 
-       ret = kstrtoul(skip_spaces(buf), 0, &t);
+       ret = kstrtouint(skip_spaces(buf), 0, &t);
        if (ret)
                return ret;
 
@@ -2518,13 +2519,11 @@ static ssize_t sbi_ui_store(struct ext4_attr *a,
                            const char *buf, size_t count)
 {
        unsigned int *ui = (unsigned int *) (((char *) sbi) + a->u.offset);
-       unsigned long t;
        int ret;
 
-       ret = kstrtoul(skip_spaces(buf), 0, &t);
+       ret = kstrtouint(skip_spaces(buf), 0, ui);
        if (ret)
                return ret;
-       *ui = t;
        return count;
 }
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to