Received: by 10.223.185.116 with SMTP id b49csp1071383wrg; Fri, 23 Feb 2018 11:23:43 -0800 (PST) X-Google-Smtp-Source: AH8x227FEw8YzXDVwSNIHsmcUPHh/qkjuDQ76Iqx9Af9tUOxZJh30O6zRisU1/pPHhT15cGtVdfS X-Received: by 10.98.200.80 with SMTP id z77mr2702888pff.85.1519413823362; Fri, 23 Feb 2018 11:23:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519413823; cv=none; d=google.com; s=arc-20160816; b=B4ffsGKppoaKwbdq/lAIH90m1Fjl65B8CFvUPFxpWnaMs4dyPF/IJt5DNT+QADhQpJ woEMi3IlL02LV8+t3SY3fBQaYI3Z0/ZOKFpiwnUh8udQ4BY9hwyB/ZkYtiiIb3qJg/jf 1Hx6NIrTnV6+U4mdfcZaaTASPRFv6qEpVuUUwVm8Md9eHxcIswQ4c1nJmjB1xW7by46O ZeNg7w2e8QDEd4FhNCl48TBXOUdBxy7t9cob0lMiUQoDlZNsafhe1htjY4dJBobcRd/p 2dPfhGiExmANcOkvJaA1N5u9pNIV3Zb5QN68cJVAk/o2Oh9Eq6jwMLDmUSeD2ijVv8/x JM7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=4mNpK5f21JMXghs6Za2Ozn3kSuoeIaZsuUpcOoiJs2U=; b=06DnA2BIHlUxhLmScFxPW9E56dLTYuSfQv8X/rxUplXIJmgSUuxEhYmSWgPYtOqQdq FjQQ4hKwbNr8AC6Tc7aJVAgRlAOvnlfSGmB0kVzNBlcU04CJaVi+4Ug07pwgt2rNgkX2 TVC9evTt9kxX6gFRLE/f0AIz8NFM127xRQfirhK3TaEQR8rAmBxuNzyRFf9FTu58J/hz aP6gY9Dsyz6i9IaBvpSK8AwzTPPKaAs0YO+RkS2Le0fb5EQmRJ+PUGnADb2b7p1MeFoo K6ajcaoeXcs47V+EEwuLhhbpcHX+5UYgESxD1AArdACxEe57rJdqOFKv4VRiW7EKFHwk 6lMA== ARC-Authentication-Results: i=1; mx.google.com; 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 l67si2247723pfb.329.2018.02.23.11.23.28; Fri, 23 Feb 2018 11:23:43 -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; 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 S964778AbeBWSxe (ORCPT + 99 others); Fri, 23 Feb 2018 13:53:34 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:47392 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935421AbeBWSxc (ORCPT ); Fri, 23 Feb 2018 13:53:32 -0500 Received: from localhost (LFbn-1-12258-90.w90-92.abo.wanadoo.fr [90.92.71.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 24A5D10D9; Fri, 23 Feb 2018 18:53:31 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Roy Chung , Alex Wu , BingJing Chang , Shaohua Li , Sasha Levin Subject: [PATCH 4.14 094/159] md/raid5: correct degraded calculation in raid5_error Date: Fri, 23 Feb 2018 19:26:42 +0100 Message-Id: <20180223170754.905649117@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180223170743.086611315@linuxfoundation.org> References: <20180223170743.086611315@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: bingjingc [ Upstream commit aff69d89bdebc39235cddb4445371eb979b49685 ] When disk failure occurs on new disks for reshape, mddev->degraded is not calculated correctly. Faulty bit of the failure device is not set before raid5_calc_degraded(conf). mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/loop[012] mdadm /dev/md0 -a /dev/loop3 mdadm /dev/md0 --grow -n4 mdadm /dev/md0 -f /dev/loop3 # simulating disk failure cat /sys/block/md0/md/degraded # it outputs 0, but it should be 1. However, mdadm -D /dev/md0 will show that it is degraded. It's a bug. It can be fixed by moving the resources raid5_calc_degraded() depends on before it. Reported-by: Roy Chung Reviewed-by: Alex Wu Signed-off-by: BingJing Chang Signed-off-by: Shaohua Li Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/md/raid5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -2678,13 +2678,13 @@ static void raid5_error(struct mddev *md pr_debug("raid456: error called\n"); spin_lock_irqsave(&conf->device_lock, flags); + set_bit(Faulty, &rdev->flags); clear_bit(In_sync, &rdev->flags); mddev->degraded = raid5_calc_degraded(conf); spin_unlock_irqrestore(&conf->device_lock, flags); set_bit(MD_RECOVERY_INTR, &mddev->recovery); set_bit(Blocked, &rdev->flags); - set_bit(Faulty, &rdev->flags); set_mask_bits(&mddev->sb_flags, 0, BIT(MD_SB_CHANGE_DEVS) | BIT(MD_SB_CHANGE_PENDING)); pr_crit("md/raid:%s: Disk failure on %s, disabling device.\n"