From c152f3610f46bc68cdf976a71081adde87a9c3b9 Mon Sep 17 00:00:00 2001 From: Jes Sorensen Date: Thu, 12 May 2016 14:30:10 -0400 Subject: [PATCH] Grow: Handle failure to load superblock in Grow_addbitmap() Reported-by: Gioh Kim Signed-off-by: Jes Sorensen --- 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); }