Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp394770ybk; Wed, 13 May 2020 03:03:56 -0700 (PDT) X-Google-Smtp-Source: APiQypJeKUdTtDYj/Q76k4Zchl+ZSaXuZYnHFpz+BHZGchFKBSQgPyDjuVzOm0e2o4o8SbErtPgf X-Received: by 2002:a17:906:f743:: with SMTP id jp3mr14971574ejb.101.1589364236411; Wed, 13 May 2020 03:03:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589364236; cv=none; d=google.com; s=arc-20160816; b=TUhP1pii2/JDOJhKddXQIqgGUSPTU9KN6VzUyY4Mt8PVtprTtmwdtiDa77vKQM3IWS 2ug3TiM5Iw8qY99/UNNIZmTQyOcKPNQEnMGJ8wKqiNKUGVM/SUspNYNNNeYCrGv/9HR0 GC47oxvGIKMfjYzymxYvRYKLJ/U8tt8/sOURJNXirrJiIdE8x1vzdjOX0+dUNsf1nwCb 9Fq7tb5V9lHqyQX+dls5xNRIFACh1tcYFwiLcyzK52JLcZ4QYMo12sFgBfgjP8ojPJiH MDxbkhNi5bwEjt1rtZJNgMROTVRNiRHF4N7D133kdyKM/zYaNVzbdqDqxUaPECPvZgfr MSdA== 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=tGHfIZE5ePCeIrn/9q248UEkPLpw1ADRNgoyhfUVr3s=; b=JFfD9qd+y5YSqkgvB8N7UPp5TYxJAVpVYOtCbZO63kZClFfv21tQOC4PZFRjei3J4o RTCf1woHiVJ+l5fS4OUxYR1Rz4wD2gEjfmwSA8evaXBMPbcFoJ27irzVOYirGPm8JTjr iXT9BjtRnPHU9sfscoAv4LVSA7xf8btVFdPC5MMIQlnETqLjdR4EcdwmOljxkLLmJVRk P48SpG8w2Bides7Kkbbaz+W7BQXq095Je4Kn62Z7CiIpEIHdjMrw2KJUqr6aNyK76VLy uxUAAul4olv6nQkl8M4+NOmfLMFKuyBHmhcGMvpxwho9zT55TFe6rcseEnH9U9acruQQ HjEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SsMddIzc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y1si9192373ejh.219.2020.05.13.03.03.32; Wed, 13 May 2020 03:03:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SsMddIzc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388188AbgEMKAb (ORCPT + 99 others); Wed, 13 May 2020 06:00:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:52986 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387712AbgEMJvv (ORCPT ); Wed, 13 May 2020 05:51:51 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.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 B47E820753; Wed, 13 May 2020 09:51:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589363511; bh=Mkl9niGM7Jk9EsYF7+nYIEVraYIF7kyKrRHQwBUWUUY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SsMddIzcf6lBnZvJv5AML/lwC1f8M42nQSqIm6RuatGi2kvTm2nlbdeBHH+r2boQR dayAvPWw9YMWanjolILhZbEvs+p7YpIZpfEPDqDbdALdFwk/mnsb+wLUc2Gjq8whKY eYUeSLcOOBgY64TdmC0y0PStNmnH/Mp9Vsllwh0M= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Aya Levin , Moshe Shemesh , Jiri Pirko , "David S. Miller" Subject: [PATCH 5.6 014/118] devlink: Fix reporters recovery condition Date: Wed, 13 May 2020 11:43:53 +0200 Message-Id: <20200513094418.956848092@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200513094417.618129545@linuxfoundation.org> References: <20200513094417.618129545@linuxfoundation.org> User-Agent: quilt/0.66 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 From: Aya Levin [ Upstream commit bea0c5c942d3b4e9fb6ed45f6a7de74c6b112437 ] Devlink health core conditions the reporter's recovery with the expiration of the grace period. This is not relevant for the first recovery. Explicitly demand that the grace period will only apply to recoveries other than the first. Fixes: c8e1da0bf923 ("devlink: Add health report functionality") Signed-off-by: Aya Levin Reviewed-by: Moshe Shemesh Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/core/devlink.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5029,6 +5029,7 @@ int devlink_health_report(struct devlink { enum devlink_health_reporter_state prev_health_state; struct devlink *devlink = reporter->devlink; + unsigned long recover_ts_threshold; /* write a log message of the current error */ WARN_ON(!msg); @@ -5039,10 +5040,12 @@ int devlink_health_report(struct devlink devlink_recover_notify(reporter, DEVLINK_CMD_HEALTH_REPORTER_RECOVER); /* abort if the previous error wasn't recovered */ + recover_ts_threshold = reporter->last_recovery_ts + + msecs_to_jiffies(reporter->graceful_period); if (reporter->auto_recover && (prev_health_state != DEVLINK_HEALTH_REPORTER_STATE_HEALTHY || - jiffies - reporter->last_recovery_ts < - msecs_to_jiffies(reporter->graceful_period))) { + (reporter->last_recovery_ts && reporter->recovery_count && + time_is_after_jiffies(recover_ts_threshold)))) { trace_devlink_health_recover_aborted(devlink, reporter->ops->name, reporter->health_state,