dcavalca / rpms / mdadm

Forked from rpms/mdadm 3 years ago
Clone

Blame SOURCES/mdadm-3.2.6-Create.c-check-if-freesize-is-equal-0.patch

373056
From 066e92f017df22c879c455494d2c1743ef7f3aca Mon Sep 17 00:00:00 2001
373056
From: Lukasz Dorau <lukasz.dorau@intel.com>
373056
Date: Fri, 16 Nov 2012 17:24:36 +0100
373056
Subject: [PATCH] Create.c: check if freesize is equal 0
373056
373056
"freesize" can be equal 0, particularly after rounding to the chunk's size.
373056
Creating should be aborted in such case.
373056
373056
Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
373056
Signed-off-by: NeilBrown <neilb@suse.de>
373056
---
373056
 Create.c | 5 +++++
373056
 1 file changed, 5 insertions(+)
373056
373056
diff --git a/Create.c b/Create.c
373056
index afcf1a5..436bd1d 100644
373056
--- a/Create.c
373056
+++ b/Create.c
373056
@@ -407,6 +407,11 @@
373056
 				do_default_chunk = 0;
373056
 			}
373056
 		}
373056
+		if (!freesize) {
373056
+			fprintf(stderr, Name ": no free space left on %s\n", dname);
373056
+			fail = 1;
373056
+			continue;
373056
+		}
373056
 
373056
 		if (size && freesize < size) {
373056
 			fprintf(stderr, Name ": %s is smaller than given size."