md: Convert to use int_pow()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 23 Jul 2019 20:41:55 +0000 (23:41 +0300)
committerSong Liu <songliubraving@fb.com>
Wed, 7 Aug 2019 17:25:02 +0000 (10:25 -0700)
Instead of linear approach to calculate power of 10, use generic int_pow()
which does it better.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
drivers/md/md.c

index 24638cc..3f12524 100644 (file)
@@ -3664,11 +3664,7 @@ int strict_strtoul_scaled(const char *cp, unsigned long *res, int scale)
                return -EINVAL;
        if (decimals < 0)
                decimals = 0;
-       while (decimals < scale) {
-               result *= 10;
-               decimals ++;
-       }
-       *res = result;
+       *res = result * int_pow(10, scale - decimals);
        return 0;
 }