]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - util.c
FIX: resolve make everything compilation error
[thirdparty/mdadm.git] / util.c
diff --git a/util.c b/util.c
index 7abbff7517750ca71e3d979c38a3364a9b20793e..b94205856bddf056aff7002f4416f3f4e06db05d 100644 (file)
--- a/util.c
+++ b/util.c
@@ -194,6 +194,7 @@ long long parse_size(char *size)
         * followed by 'K', 'M', or 'G'.
         * Without a suffix, K is assumed.
         * Number returned is in sectors (half-K)
+        * -1 returned on error.
         */
        char *c;
        long long s = strtoll(size, &c, 10);
@@ -215,7 +216,7 @@ long long parse_size(char *size)
                }
        }
        if (*c)
-               s = 0;
+               s = -1;
        return s;
 }
 
@@ -711,6 +712,8 @@ void print_r10_layout(int layout)
 unsigned long long calc_array_size(int level, int raid_disks, int layout,
                                   int chunksize, unsigned long long devsize)
 {
+       if (level == 1)
+               return devsize;
        devsize &= ~(unsigned long long)((chunksize>>9)-1);
        return get_data_disks(level, layout, raid_disks) * devsize;
 }