Received: by 10.213.65.68 with SMTP id h4csp455022imn; Tue, 27 Mar 2018 02:32:40 -0700 (PDT) X-Google-Smtp-Source: AG47ELumqEVlGDlO/P9XjERpbZMAZjiBcMKJQOBoxleHZh8xxThmQaQsVailTvzhjLm1d70yqJvG X-Received: by 2002:a17:902:6001:: with SMTP id r1-v6mr44211686plj.330.1522143160911; Tue, 27 Mar 2018 02:32:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522143160; cv=none; d=google.com; s=arc-20160816; b=FVRfpZNRQHiANR2FkCDJmZn0SRjDU+YHn35/IvgfeMV7AZF9K2xApbN1c00U/i+JRu BNX5d1KzlJbZy3M4DMIXqygYIRj3Yi4iMPEXetihqbedAaE5bkU+/Tl62TLc2X1Zq6ge fiwwYTzsyVJ36XFtJucAhKPUw+mjIKCfY7lEbvgog4wbeTTJMAw0ftGSISor5b4/t0gU ns0uAbC6eNJZFCjLLct04+pL74PO1UisUjw2WYw+aDzcl5cUOsdEyKWSXKmges0i3IlO KeSkjNgfS1F5rmQ9HhwgPoL/8Np8kjfolC4Hy2BrovY0IlKzll6SRo1aVn4Q7qyU7cGj O1Wg== 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 :message-id:date:subject:cc:to:from:arc-authentication-results; bh=CRCeFuA+fKe0Bv6u+jCsrZGHGJblwtYCDsDCF5DYQkY=; b=WKKsgt2MTPA1Nd9Xo8Q0hZSnKIL9qPJe5OZqz2d/vY2qSbu3UID217H9+YPyjvaYFo h6ITbe0jfnxv7eMJPIJEa9yXeMoWTz31InhvU1TVrvz0iZgiFK6SXAdlbPqbuRh5Qr3y QPKcJysdpO8S9laUe3S7CTKHsfcxfT0o8xSO8rNW7nDgO3C9Y29UHmUCI/dTNQD3DBwN HFEMSz5bXvSlnGcvkbfS6hq3hZPl7XlehbU30aDGsztf0yLuRIanTBJQ/20kmV9+wC4z R6BbsjmBTa7kshRQA67qaJZNp9KyG/uSq1DtV275M7qn0SDksIksx5hq3kSPjvSyrEOC iLnQ== 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 q5-v6si787302pll.325.2018.03.27.02.32.26; Tue, 27 Mar 2018 02:32:40 -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; 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 S1752180AbeC0JbB (ORCPT + 99 others); Tue, 27 Mar 2018 05:31:01 -0400 Received: from mx2.suse.de ([195.135.220.15]:43559 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751241AbeC0JbA (ORCPT ); Tue, 27 Mar 2018 05:31:00 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id E0341AFF8; Tue, 27 Mar 2018 09:30:58 +0000 (UTC) From: Johannes Thumshirn To: Christoph Hellwig , Keith Busch , Sagi Grimberg Cc: Linux Kernel Mailinglist , Linux NVMe Mailinglist , marting@netapp.com, Johannes Thumshirn Subject: [PATCH] nvme: don't send keep-alives to the discovery controller Date: Tue, 27 Mar 2018 11:28:48 +0200 Message-Id: <20180327092848.10404-1-jthumshirn@suse.de> X-Mailer: git-send-email 2.16.2 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 NVMe over Fabrics 1.0 Section 5.2 "Discovery Controller Properties and Command Support" Figure 31 "Discovery Controller – Admin Commands" explicitly listst all commands but "Get Log Page" and "Identify" as reserved, but NetApp report the Linux host is sending Keep Alive commands to the discovery controller, which is a violation of the Spec. We're already checking for discovery controllers when configuring the keep alive timeout but when creating a discovery controller we're not hard wiring the keep alive timeout to 0 and thus remain on NVME_DEFAULT_KATO for the discovery controller. This can be easily remproduced when issuing a direct connect to the discovery susbsystem using: 'nvme connect [...] --nqn=nqn.2014-08.org.nvmexpress.discovery' Signed-off-by: Johannes Thumshirn Fixes: 07bfcd09a288 ("nvme-fabrics: add a generic NVMe over Fabrics library") Reported-by: Martin George --- drivers/nvme/host/fabrics.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c index 8f0f34d06d46..3583f9492a45 100644 --- a/drivers/nvme/host/fabrics.c +++ b/drivers/nvme/host/fabrics.c @@ -608,8 +608,10 @@ static int nvmf_parse_options(struct nvmf_ctrl_options *opts, opts->discovery_nqn = !(strcmp(opts->subsysnqn, NVME_DISC_SUBSYS_NAME)); - if (opts->discovery_nqn) + if (opts->discovery_nqn) { + opts->kato = 0; opts->nr_io_queues = 0; + } break; case NVMF_OPT_TRADDR: p = match_strdup(args); -- 2.12.3