Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3018305imu; Mon, 19 Nov 2018 09:25:26 -0800 (PST) X-Google-Smtp-Source: AJdET5f8cmyLBCOLg8WvvDxYngnSCbYPWFCjNSYycdF7XXv5klCsP70WG+vR5+oHg1J+b4UbxHFq X-Received: by 2002:a17:902:8507:: with SMTP id bj7-v6mr22803971plb.99.1542648326254; Mon, 19 Nov 2018 09:25:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542648326; cv=none; d=google.com; s=arc-20160816; b=RWK65burUKYBHp5ZnWuJTlbJeHkw7jpWEmfnXAa34Ixrl6ISKk4bulKmkn5CLzIykT +PQ96UpozalQ4nIKT/aHjh1naWUev+LbsrgEGJNzmYhNX6i2vnvhMJGh1gUxo9WT+qG5 qdYtn5qsTNF0XbIwBGyNZV9IE9qB5zLdn4NF9RwUdv3NYm89jm2lGeRVXputAIfPqsjz 2h2HnpmJsMznRgz7vtkApQmUKc6yeWwAULsQhbRbP/erHwCCbF7GmyzXKz8Vu8i+Oqje cQ48/TTk1mvy+n+I3qvW+91TgSuKq+8Y56R0D+oEuX1/qIUHS7PFEkQOmAC2setEJ5Q7 8wfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=kZmM8fwse2bJiheuVPBO2Kz1PH6b/nfes2Ymm9jO0ic=; b=pbu87fuqdYjieg+/XSjbAyhlNwpA5It6P5sOUOebHUN2jntqB/xsBrYdVD7gAO5ynE hCP0yyIQeiRWviSymzWYB7HC1QHed05p8UpMX9bUvB212erYS+aEPRDSz4CHfnjzAFuX fZaUS8RRntyT6c4qf+iIEORHfCoERCpHorsyxzHwF4OkLSKY50p8ZIKHllLFkvGNWE2g IBdXC1bcukeR8mk4sz1ZrPO6dmNgureJ/5P+JM+jf6Q9IaOerC/kjyKEsTNv5xqxk2O5 WOEaxDemg0JV/Z91pOfgdFGuOko1rf7tbGtfCWxmo3x3at4+uZ1ZJU7ORUQwShk9nQk+ Pd6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=MquyqFkx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z143si23324833pfc.97.2018.11.19.09.25.03; Mon, 19 Nov 2018 09:25:26 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=MquyqFkx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404923AbeKTDsA (ORCPT + 99 others); Mon, 19 Nov 2018 22:48:00 -0500 Received: from mail.kernel.org ([198.145.29.99]:33128 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404158AbeKTDVj (ORCPT ); Mon, 19 Nov 2018 22:21:39 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 912532145D; Mon, 19 Nov 2018 16:57:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542646644; bh=mNB2O8BOIgUMcVSHcioR0Ywc07+xsxxyq6kiRT9t0Xk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MquyqFkx4CAEcqANg8nCL4la+5QqiIRRETxMmKAa7yJXhhRQfNWZedP47rguvitmI Tq+Ef2oQyeSkPzkV+9W1UdXw7+EdUFRSDSJzJaTdkXb2KgTd008Q1Zx9HIplUCRq5m eNSCWP3wsnmvvDrKn4FUlrrRY29SGc8ht2f/13ws= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Gioh Kim , Guoqing Jiang , Shaohua Li , Sasha Levin Subject: [PATCH 4.4 036/160] MD: fix invalid stored role for a disk Date: Mon, 19 Nov 2018 17:27:55 +0100 Message-Id: <20181119162634.518911574@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181119162630.031306128@linuxfoundation.org> References: <20181119162630.031306128@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Shaohua Li [ Upstream commit d595567dc4f0c1d90685ec1e2e296e2cad2643ac ] If we change the number of array's device after device is removed from array, then add the device back to array, we can see that device is added as active role instead of spare which we expected. Please see the below link for details: https://marc.info/?l=linux-raid&m=153736982015076&w=2 This is caused by that we prefer to use device's previous role which is recorded by saved_raid_disk, but we should respect the new number of conf->raid_disks since it could be changed after device is removed. Reported-by: Gioh Kim Tested-by: Gioh Kim Acked-by: Guoqing Jiang Signed-off-by: Shaohua Li Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/md/md.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -1670,6 +1670,10 @@ static int super_1_validate(struct mddev } else set_bit(In_sync, &rdev->flags); rdev->raid_disk = role; + if (role >= mddev->raid_disks) { + rdev->saved_raid_disk = -1; + rdev->raid_disk = -1; + } break; } if (sb->devflags & WriteMostly1)