From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jes Sorensen Subject: Re: [PATCH] Fix regression during add devices Date: Wed, 09 Mar 2016 13:30:49 -0500 Message-ID: References: <1457500818-1586-1-git-send-email-colyli@suse.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1457500818-1586-1-git-send-email-colyli@suse.de> (Coly Li's message of "Wed, 9 Mar 2016 13:20:18 +0800") Sender: linux-raid-owner@vger.kernel.org To: Coly Li Cc: linux-raid@vger.kernel.org, Hannes Reinecke , Neil Brown List-Id: linux-raid.ids Coly Li writes: > From: Hannes Reinecke > > Commit d180d2aa2a17 ("Manage: fix test for 'is array failed'.") > introduced a regression which would not allow to re-add new > drivers to a failed array. > > The patch is written by Hannes Reinecke, Neil Brown points out > the buggy commit ID is d180d2aa2a17. Coly helps to submit the > patch to mdadm upstream. > > Signed-off-by: Hannes Reinecke > Cc: Coly Li > Cc: Neil Brown > --- > Manage.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Coly, Thanks for the fix - please use "Fixes: " to indicate which patch introduced the bug, and the story of pushing the patch really belongs in a comment below the --- line, so it doesn't go into git. I modified it to look like this - please let me know if you are OK with this. Thanks, Jes commit 227bd322d3ed80bee0f1a0ae44a293908890851c Author: Hannes Reinecke Date: Wed Mar 9 13:20:18 2016 +0800 Fix regression during add devices Commit d180d2aa2a17 ("Manage: fix test for 'is array failed'.") introduced a regression which would not allow to re-add new drivers to a failed array. Fixes: d180d2aa2a17 ("Manage: fix test for 'is array failed'.") Signed-off-by: Hannes Reinecke Cc: Coly Li Cc: Neil Brown Signed-off-by: Jes Sorensen > diff --git a/Manage.c b/Manage.c > index 7e1b94b..073ddb9 100644 > --- a/Manage.c > +++ b/Manage.c > @@ -879,10 +879,10 @@ int Manage_add(int fd, int tfd, struct mddev_dev *dv, > continue; > if (disc.major == 0 && disc.minor == 0) > continue; > - found++; > if (!(disc.state & (1< continue; > avail[disc.raid_disk] = 1; > + found++; > } > array_failed = !enough(array->level, array->raid_disks, > array->layout, 1, avail);