]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Create.c: check if freesize is equal 0
authorLukasz Dorau <lukasz.dorau@intel.com>
Fri, 16 Nov 2012 16:24:36 +0000 (17:24 +0100)
committerNeilBrown <neilb@suse.de>
Tue, 20 Nov 2012 01:12:03 +0000 (12:12 +1100)
"freesize" can be equal 0, particularly after rounding to the chunk's size.
Creating should be aborted in such case.

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Create.c

index afcf1a53abef74f67fca09fcf1f2bbdc54f9c907..436bd1d9900f7500b3f572adabd6b724fdd0c74e 100644 (file)
--- a/Create.c
+++ b/Create.c
@@ -408,6 +408,11 @@ int Create(struct supertype *st, char *mddev,
                                do_default_chunk = 0;
                        }
                }
+               if (!freesize) {
+                       pr_err("no free space left on %s\n", dname);
+                       fail = 1;
+                       continue;
+               }
 
                if (s->size && freesize < s->size) {
                        pr_err("%s is smaller than given size."