From 77632af90637004deac013d1716727b15094b3ee Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 15 Mar 2011 14:53:00 +1100 Subject: [PATCH] ddf: Don't consider 'dl' entries with state_fd < 0 These have been marked as invalid (recently failed) so don't trust the major/minor associated with them. Signed-off-by: NeilBrown --- super-ddf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/super-ddf.c b/super-ddf.c index be15e43e..96d75ea8 100644 --- a/super-ddf.c +++ b/super-ddf.c @@ -3191,7 +3191,8 @@ static void ddf_set_disk(struct active_array *a, int n, int state) /* and find the 'dl' entry corresponding to that. */ for (dl = ddf->dlist; dl; dl = dl->next) - if (mdi->disk.major == dl->major && + if (mdi->state_fd >= 0 && + mdi->disk.major == dl->major && mdi->disk.minor == dl->minor) break; if (!dl) -- 2.39.2