File 0043-Grow-Handle-failure-to-load-superblock-in-Grow_addbi.patch of Package mdadm.7129

From c152f3610f46bc68cdf976a71081adde87a9c3b9 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 12 May 2016 14:30:10 -0400
Subject: [PATCH 268/359] Grow: Handle failure to load superblock in
 Grow_addbitmap()
References: bsc#1081910

Reported-by: Gioh Kim <gi-oh.kim@profitbricks.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Coly Li <colyli@suse.de>

---
 Grow.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Grow.c b/Grow.c
index 9da72cc..580c13e 100755
--- a/Grow.c
+++ b/Grow.c
@@ -421,7 +421,8 @@ int Grow_addbitmap(char *devname, int fd, struct context *c, struct shape *s)
 			fd2 = dev_open(dv, O_RDWR);
 			if (fd2 < 0)
 				continue;
-			if (st->ss->load_super(st, fd2, NULL)==0) {
+			rv = st->ss->load_super(st, fd2, NULL);
+			if (!rv) {
 				if (st->ss->add_internal_bitmap(
 					    st, &s->bitmap_chunk, c->delay,
 					    s->write_behind, bitmapsize,
@@ -432,6 +433,10 @@ int Grow_addbitmap(char *devname, int fd, struct context *c, struct shape *s)
 					close(fd2);
 					return 1;
 				}
+			} else {
+				pr_err("failed to load super-block.\n");
+				close(fd2);
+				return 1;
 			}
 			close(fd2);
 		}
-- 
2.16.1

openSUSE Build Service is sponsored by