Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp729484ybi; Fri, 26 Jul 2019 18:38:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqwJrPR/CsTOlRodcn1uSumWYwdaMsbvFfv6owbM6/r6Dcy2QHBlyD+SLUr++fhaBffC3tyo X-Received: by 2002:a17:902:467:: with SMTP id 94mr98333675ple.131.1564191519081; Fri, 26 Jul 2019 18:38:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564191519; cv=none; d=google.com; s=arc-20160816; b=XKqXZjkglho9uge840ZHVd4TwRKybrasfur14DihTDVn2y/w1BL3GNoYgudoKixHbc iKobdNM37LE2nJk0PewkZ8K88c8zCP5EJQjCMgSBqf5kzjMgCLvfm+uA2ATZM9eO5MaZ m3THfAeuos5rVjtwAtrLlRyARABhoDTJp+nZzJgaN9p2uF331hZut1CsQd0jEFmfZqoJ AWmMjrlLe1MrfMj0eZdUhY0yyBzdRSxdYS7mArBxP1ZT1YBhdxGHcxLPUz4MKWbjulWw 0owrOpObrQOun0OpMNA0b8IF3lC2+KTeZphUI+k3XSoUqk2wWkgU1keBlhC+6oUhQBow MvAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to; bh=6hWilRZlRo5sS1EZqyuYdyOsEPb5CW92AlieL/iCnug=; b=sqFstBPcjVzcT8XvjZ6WlQefTH7Pz+U5Tro+2p/fXbe+dSkuxigrAs+aOHn3qyd4e6 Cd7s0a4vX49xPIZCAiJuzDo4BRfr/lDj7ap2MjM8lc9tilMIa2nEn5LdopUJr7PumXxo 6fw9UGxS7Xe0z2xuUcKwuVuul9A7tPfdo4Lnn/j1d/h2lbeOkaama1gNGchFtvUrfOPo +6yBjES0qg6Wlo95o5VnPVVdB7y45yxl5KhTx9mwWokQbcl3gFukFuh8/XF3lrKHqlr2 WeK52F8Xjbt/wEteozg/9TCzy1ryJ2j7lm90yQ1rlHUcUUwGYD8lXpUI5qR3CfaB13Jj OYkg== 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 be3si20353797plb.383.2019.07.26.18.38.23; Fri, 26 Jul 2019 18:38:39 -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 S1727915AbfG0AJl (ORCPT + 99 others); Fri, 26 Jul 2019 20:09:41 -0400 Received: from ale.deltatee.com ([207.54.116.67]:41760 "EHLO ale.deltatee.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726102AbfG0AJl (ORCPT ); Fri, 26 Jul 2019 20:09:41 -0400 Received: from s01061831bf6ec98c.cg.shawcable.net ([68.147.80.180] helo=[192.168.6.132]) by ale.deltatee.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1hrAHE-0003CB-OC; Fri, 26 Jul 2019 18:09:33 -0600 To: Sagi Grimberg , Hannes Reinecke , linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org Cc: Christoph Hellwig , Keith Busch , Jens Axboe , Chaitanya Kulkarni , Max Gurtovoy , Stephen Bates References: <20190725172335.6825-1-logang@deltatee.com> <1f202de3-1122-f4a3-debd-0d169f545047@suse.de> <8fd8813f-f8e1-2139-13bf-b0635a03bc30@deltatee.com> <175fa142-4815-ee48-82a4-18eb411db1ae@grimberg.me> <76f617b9-1137-48b6-f10d-bfb1be2301df@deltatee.com> From: Logan Gunthorpe Message-ID: <1260e01c-6731-52f7-ae83-0b90e0345c68@deltatee.com> Date: Fri, 26 Jul 2019 18:09:30 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 68.147.80.180 X-SA-Exim-Rcpt-To: sbates@raithlin.com, maxg@mellanox.com, Chaitanya.Kulkarni@wdc.com, axboe@fb.com, kbusch@kernel.org, hch@lst.de, linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, hare@suse.de, sagi@grimberg.me X-SA-Exim-Mail-From: logang@deltatee.com X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on ale.deltatee.com X-Spam-Level: X-Spam-Status: No, score=-8.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, GREYLIST_ISWHITE autolearn=ham autolearn_force=no version=3.4.2 Subject: Re: [PATCH v6 00/16] nvmet: add target passthru commands support X-SA-Exim-Version: 4.2.1 (built Tue, 02 Aug 2016 21:08:31 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-07-26 5:13 p.m., Sagi Grimberg wrote: > >>> Why? if nvmet is capable, why shouldn't we support it? >> >> I'm saying that passthru is exporting a specific controller and submits >> commands (both admin and IO) straight to the nvme_ctrl's queues. It's >> not exporting an nvme_subsys and I think it would be troublesome to do >> so; for example, if the target receives an admin command which ctrl of >> the subsystem should it send it to? > > Its the same controller in the backend, what is the difference from > which fabrics controller the admin command came from? This is not my understanding. It's not really the same controller in the back end and there are admin commands that operate on the controller like the namespace attachment command which takes a list of cntlids (though admittedly is not something I'm too familiar with because I don't have any hardware to play around with). Though that command is already a bit problematic for passthru because we have different cntlid address spaces. > I haven't thought this through so its very possible that I'm missing > something, but why can't the host see multiple controllers if it has > more than one path to the target? Well a target controller is created for each connection. So if the host wanted to see multiple controllers it would have to do multiple "nvme connects" and some how need to address the individual controllers for each connection. Right now a connect is based on subsysnqn which would be the same for every multipath controller. > What specific admin commands are you concerned about? What exactly > would clash? Namespace attach comes to mind. > And I'm suggesting to allow more than a single controller given that all > controller allocations match a single hostnqn. It wouldn't make sense to > expose this controller to multiple hosts (although that might be doable > but but definitely requires non-trivial infrastructure around it). > Look, when it comes to fabrics, multipath is a fundamental piece of the > puzzle. Not supporting multipathing significantly diminishes the value > of this in my mind (assuming this answers a real-world use-case). I'd agree with that. But it's the multipath through different ports that seems important for fabrics. ie. If I have a host with a path through RDMA and a path through TCP they should both work and allow fail over. This is quite orthogonal to passthru and would be easily supported if we dropped the multiple hosts restriction (I'm not sure what the objection really is to that). This is different from multipath on say a multi-controller PCI device and trying to expose both those controllers through passthru. this is where the problems we are discussing come up. Supporting this is what is hard and I think the sensible answer is if users want to do something like that, they use non-passthru NVME-of and the multipath code will just work as designed. Our real-world use case is to support our PCI device which has a bunch of vendor unique commands and isn't likely to support multiple controllers in the foreseeable future. Logan