Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp3105670ybi; Thu, 18 Jul 2019 21:08:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqzB+BhzrVU+1ScGgqGsh06csScOCPh/wirfG8N//Eou39Nr09gq5g9XcVeIz+tovaO5qZMH X-Received: by 2002:a63:5920:: with SMTP id n32mr49974315pgb.352.1563509288332; Thu, 18 Jul 2019 21:08:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563509288; cv=none; d=google.com; s=arc-20160816; b=f/XGSB75JsU4yNdA0sYhT0r9Ps/kN3D+a+ougEH7vC07cjhJoKWk00pY93K2vZq9RM VHFfR1uTPebSkaTBp+PcdqfbFXTHVUUMTqYR5/3JKe85X2yqCJf1UfJWQHH+4fEdf+ih cxrP7WF8bOFnmhSTljo+hdrqr/A/8tIXmBR3dMLMvh3Vj7GHWfeGm/9+g/B7fO3Gw6yY gA1QzSuvxD9MUeIQOjGw5lmQGXlMG0xl2WgNjGOfrZJYM1vc0jnHbA7/v6G6mGtLAlHQ Z95wgHGiNMtRIqe0Ne4SVVZR0FxqcsxWxdWpEyUL0d+gTIjNrhomslaHN2gMNDwYb7Do 4vmQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2SvYS395KWK4j5hX0zE4tQuRckDdRyDl6hm/v1NoVtE=; b=YFn/8nTrb28+uiRIlI1Pz017/GpoNAwA/r8BJ90Im1fabOTipgVxYB0Pi1kx9702OP UPqzRxiD4aimfO8HAaSRBvbPVf6ntDl2+1OAHFFkVmn6jJYH7pdoBjC8eTZpyuk0L6N6 MvFlzXk5RJxbHMTJkRHyJHzvsyWE+hvHkQNhNTha/JR+YtSOh9YrOAAJoVvXta+gkSwN 8a7yDlBTaFkN8Jta5PaIz8WVT2eslv1LpVtqyvymCCMwJ/I9zWfCjwvGkW5GZL4QoZT9 uzZ9im6zOgYAuJAFwGAuzr8RqBUifymqECzfh2fLCcKARTi7lHkFNLvrRtXN64mfzPBN DI7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="V/w1Juf7"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y6si3771653pfl.288.2019.07.18.21.07.52; Thu, 18 Jul 2019 21:08:08 -0700 (PDT) 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="V/w1Juf7"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731099AbfGSEGe (ORCPT + 99 others); Fri, 19 Jul 2019 00:06:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:39458 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728210AbfGSEGX (ORCPT ); Fri, 19 Jul 2019 00:06:23 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 49AD3218BB; Fri, 19 Jul 2019 04:06:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563509182; bh=tUs7HuC82WX+TAG+gnhX976cxKA3Uz7SIO2KeVgJG9Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=V/w1Juf7Vt13qoW7uGPq86ftZpaEeISgvCKxnR3KWv35ZA6ZuxiMQEIzbZ0Yr2lta 6vVeb7/0vZDJw+00P7uT5jGev/6wNTDtIA0LVDgRGy273DsjysR+yEOYJUiAcUdhL8 JEuItBO+3S8TCpSCgIvX7mbly58gYVy2TabTNTAg= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mikhail Skorzhinskii , Mike Playle , Sagi Grimberg , Christoph Hellwig , Sasha Levin , linux-nvme@lists.infradead.org Subject: [PATCH AUTOSEL 5.1 111/141] nvme-tcp: set the STABLE_WRITES flag when data digests are enabled Date: Fri, 19 Jul 2019 00:02:16 -0400 Message-Id: <20190719040246.15945-111-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190719040246.15945-1-sashal@kernel.org> References: <20190719040246.15945-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mikhail Skorzhinskii [ Upstream commit 958f2a0f8121ae36a5cbff383ab94fadf1fba5eb ] There was a few false alarms sighted on target side about wrong data digest while performing high throughput load to XFS filesystem shared through NVMoF TCP. This flag tells the rest of the kernel to ensure that the data buffer does not change while the write is in flight. It incurs a performance penalty, so only enable it when it is actually needed, i.e. when we are calculating data digests. Although even with this change in place, ext2 users can steel experience false positives, as ext2 is not respecting this flag. This may be apply to vfat as well. Signed-off-by: Mikhail Skorzhinskii Signed-off-by: Mike Playle Reviewed-by: Sagi Grimberg Signed-off-by: Christoph Hellwig Signed-off-by: Sasha Levin --- drivers/nvme/host/core.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 3a390b2c7540..d4c0bc88dd1e 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -3253,6 +3254,10 @@ static int nvme_alloc_ns(struct nvme_ctrl *ctrl, unsigned nsid) goto out_free_ns; } + if (ctrl->opts->data_digest) + ns->queue->backing_dev_info->capabilities + |= BDI_CAP_STABLE_WRITES; + blk_queue_flag_set(QUEUE_FLAG_NONROT, ns->queue); if (ctrl->ops->flags & NVME_F_PCI_P2PDMA) blk_queue_flag_set(QUEUE_FLAG_PCI_P2PDMA, ns->queue); -- 2.20.1