From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guoqing Jiang Subject: Re: [PATCH] Grow: goto release if Manage_subdevs failed Date: Wed, 23 Mar 2016 09:13:11 +0800 Message-ID: <56F1EDA7.8040702@suse.com> References: <1458637424-13887-1-git-send-email-gqjiang@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-raid-owner@vger.kernel.org To: Jes Sorensen Cc: linux-raid@vger.kernel.org List-Id: linux-raid.ids On 03/23/2016 01:54 AM, Jes Sorensen wrote: > Guoqing Jiang writes: >> 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 >> --- >> Grow.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/Grow.c b/Grow.c >> index cf2750a..1767a1e 100755 >> --- a/Grow.c >> +++ b/Grow.c >> @@ -3003,8 +3003,9 @@ static int reshape_array(char *container, int fd, char *devname, >> * level and frozen, we can safely add them. >> */ >> if (devlist) >> - Manage_subdevs(devname, fd, devlist, verbose, >> - 0,NULL, 0); >> + 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; > Applied with minor mod to add brackets to the outer if() case - I hope > you are OK with this. Thanks, I am fine with it :). Regards, Guoqing > > Cheers, > Jes > > 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;