File 0061-Manage-when-re-adding-do-check-avail-size-if-sb-cann.patch of Package mdadm.5365

From 2609f339028a6035a3fadb1190b565438000e35c Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.de>
Date: Wed, 13 May 2015 14:08:41 +1000
Subject: [PATCH 081/359] Manage: when re-adding, do check avail size if ->sb
 cannot be found.
References: bsc#1081910

avail_size1 requires ->sb, so we must only call it if ->sb
was loaded.

If ->sb wasn't loaded, then we are only proceding on the basis that
the kernel might be able to work something out - we don't need to
do any tests on size.

Reported-by: Christoffer Hammarström <christoffer.hammarstrom@linuxgods.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Url: https://bugs.debian.org/784874
Signed-off-by: Coly Li <colyli@suse.de>

---
 Manage.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Manage.c b/Manage.c
index 225af81..2e602d7 100644
--- a/Manage.c
+++ b/Manage.c
@@ -781,7 +781,8 @@ int Manage_add(int fd, int tfd, struct mddev_dev *dv,
 		}
 
 		/* Make sure device is large enough */
-		if (tst->ss->avail_size(tst, ldsize/512, INVALID_SECTORS) <
+		if (tst->sb &&
+		    tst->ss->avail_size(tst, ldsize/512, INVALID_SECTORS) <
 		    array_size) {
 			if (dv->disposition == 'M')
 				return 0;
-- 
2.16.1

openSUSE Build Service is sponsored by