Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2987797imu; Mon, 19 Nov 2018 09:02:18 -0800 (PST) X-Google-Smtp-Source: AJdET5dZM8QFVUSnh+0O8ECqw+rZ0AIH1BgTejWO4JO3/oYovRs+Pp4r70nZt/Y/KJ4rfltD0rtk X-Received: by 2002:a62:a511:: with SMTP id v17-v6mr23620136pfm.18.1542646938636; Mon, 19 Nov 2018 09:02:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542646938; cv=none; d=google.com; s=arc-20160816; b=EXYYzSMeFxtXvmA1GjIKAoLwUd6Qdkm0wkhhBU9Za92A73RpkJjJA8DjbAH84zfmlX gQOQ/Eu0DfqTcTUqoRJu6T10/FuKvYMblZw6oMiIT5UPFrETc2q49Clx1YIf8Kl8h+RP flk2/LxcuOvbaPxx26IYqYYy/6GHvo/e18rQ1J+cr9AdFzOFnDRodqiLwV3JMAUo9uxr ysj1aSrKIYkM4baWQfU4UmP1gXZBDufnaM6wKM6aibkmtl8xNSH4KZ1Q3gkwrGz52/4h 9mjSXn35wc/gTjQLq2nU2di8fqNGRaMU6p2Cz8kISZrrm0uUNEb8IQzKJ7XRNWR8XBZd /UtQ== 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=yrq9wFW3H7hBd4IYSTRGyHvg2C+HOQzXJJ6l/ZiCaOA=; b=FbLJ9k4Hp1aVZGPit/3XMRSRD5YhzKeRDvEWTKxDyLHrHivIAU7NeJy+XBRovXXnIL OuR+Lq+eRa+6a1LZmBvp2QnkJ9H6/X+0RPzhiPsuK2deoh31nolsuJKHpORIOK/yUaLR scsEnztw2JGOlqMge1rzYI4NPu/xVbmuKutUH9fQCR94Wx3KdFfNQI0BS6C9JLxdXPZe +ybRJD7aIO32HyZ2MhYl5xGNwkVdGqmkgnkBRAd36qV6Rw5Kqz0O2gAKP11o3hmNt9eb HkbHKZf0GUdaqrQDq0uWr0jpPdFFlngo4apoOxxCMLwwUQTwk+U8lAMaHjehR7clgG+R 1HeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=WxiPRLWZ; 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 q16si7706166pfh.138.2018.11.19.09.02.01; Mon, 19 Nov 2018 09:02:18 -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=WxiPRLWZ; 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 S2405254AbeKTDYU (ORCPT + 99 others); Mon, 19 Nov 2018 22:24:20 -0500 Received: from mail.kernel.org ([198.145.29.99]:36634 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404390AbeKTDYT (ORCPT ); Mon, 19 Nov 2018 22:24:19 -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 BD5BD21722; Mon, 19 Nov 2018 17:00:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542646803; bh=AZKndL1XHOLkxMdQ/WxDHhY9eOOOjeTTS03o7TT9z2k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WxiPRLWZQ9Lp5g4pGNuKkDuy6o9GLFE2UHnFsmFr53pyyvV1fiV5izjCOeTll9Sj7 9p1SndVhJzsBcPhyPi/je33q3jCLzI8I2B+SUTxoLgo8vFSuhz/bwYTxABj+wHOtlT ha9+OBRRRTg5rc8d9+SUF0prIoAyvje8LwlLLIts= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, kernel test robot , Gioh Kim , Guoqing Jiang , Shaohua Li Subject: [PATCH 4.4 095/160] MD: fix invalid stored role for a disk - try2 Date: Mon, 19 Nov 2018 17:28:54 +0100 Message-Id: <20181119162640.358782061@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 commit 9e753ba9b9b405e3902d9f08aec5f2ea58a0c317 upstream. Commit d595567dc4f0 (MD: fix invalid stored role for a disk) broke linear hotadd. Let's only fix the role for disks in raid1/10. Based on Guoqing's original patch. Reported-by: kernel test robot Cc: Gioh Kim Cc: Guoqing Jiang Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman --- drivers/md/md.c | 4 ---- drivers/md/raid1.c | 1 + drivers/md/raid10.c | 1 + 3 files changed, 2 insertions(+), 4 deletions(-) --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -1670,10 +1670,6 @@ 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) --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -1605,6 +1605,7 @@ static int raid1_add_disk(struct mddev * */ if (rdev->saved_raid_disk >= 0 && rdev->saved_raid_disk >= first && + rdev->saved_raid_disk < conf->raid_disks && conf->mirrors[rdev->saved_raid_disk].rdev == NULL) first = last = rdev->saved_raid_disk; --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -1737,6 +1737,7 @@ static int raid10_add_disk(struct mddev first = last = rdev->raid_disk; if (rdev->saved_raid_disk >= first && + rdev->saved_raid_disk < conf->geo.raid_disks && conf->mirrors[rdev->saved_raid_disk].rdev == NULL) mirror = rdev->saved_raid_disk; else