From 31dbeda730ab1c25040f2e9b5bc49008b8519adf Mon Sep 17 00:00:00 2001 From: Guoqing Jiang Date: Tue, 22 Mar 2016 17:03:44 +0800 Subject: [PATCH] Grow: goto release if Manage_subdevs failed If failure happened when add disk to array by grow mode, need to goto release instead of continue the reshape. Signed-off-by: Guoqing Jiang Signed-off-by: Jes Sorensen --- Grow.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Grow.c b/Grow.c index 3204135..5953db2 100755 --- a/Grow.c +++ b/Grow.c @@ -3009,9 +3009,11 @@ static int reshape_array(char *container, int fd, char *devname, * array. Now that the array has been changed to the right * level and frozen, we can safely add them. */ - if (devlist) - Manage_subdevs(devname, fd, devlist, verbose, - 0,NULL, 0); + if (devlist) { + if (Manage_subdevs(devname, fd, devlist, verbose, + 0, NULL, 0)) + goto release; + } if (reshape.backup_blocks == 0 && data_offset != INVALID_SECTORS) reshape.backup_blocks = reshape.before.data_disks * info->array.chunk_size/512;