From: Jes Sorensen Date: Thu, 12 May 2016 18:37:44 +0000 (-0400) Subject: Grow: Simplify error paths in Grow_addbitmap() X-Git-Tag: mdadm-4.0~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ed129aca7fd26dd134eecd6fea91dc83ae23aa0;p=thirdparty%2Fmdadm.git Grow: Simplify error paths in Grow_addbitmap() This gets rid of some repeated exit paths, making the code a little cleaner. Signed-off-by: Jes Sorensen --- diff --git a/Grow.c b/Grow.c index cdd9d05b..fc454b86 100755 --- a/Grow.c +++ b/Grow.c @@ -423,22 +423,22 @@ int Grow_addbitmap(char *devname, int fd, struct context *c, struct shape *s) continue; 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, - offset_setable, major)) - st->ss->write_bitmap(st, fd2, NodeNumUpdate); - else { + rv = st->ss->add_internal_bitmap( + st, &s->bitmap_chunk, c->delay, + s->write_behind, bitmapsize, + offset_setable, major); + if (!rv) { + st->ss->write_bitmap(st, fd2, + NodeNumUpdate); + } else { pr_err("failed to create internal bitmap - chunksize problem.\n"); - close(fd2); - return 1; } } else { pr_err("failed to load super-block.\n"); - close(fd2); - return 1; } close(fd2); + if (rv) + return 1; } if (offset_setable) { st->ss->getinfo_super(st, mdi, NULL);