Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp3858481imc; Thu, 14 Mar 2019 06:57:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqx3P4Cccv+nkhP1Lgm7HXLVdP0Uco5ftdiQmUhqvgskQlqLu0NyI16X/5eBAdURQ3r/aOcd X-Received: by 2002:a17:902:a9c8:: with SMTP id b8mr14403067plr.12.1552571838527; Thu, 14 Mar 2019 06:57:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552571838; cv=none; d=google.com; s=arc-20160816; b=f6SE8ev5eGIETeR3hW4NUvPQZXP22OGg4paGhytINRe9gzeESixBLntyRRmgbsSyzZ 73oKbHIKFz8C2Qxev8ikswCzhlME7wgYCOgXdSwyD8Q+NvOctPOzAD0uLKIJF5TWXgwW Q/qO05qMldWYod7YNOANCv2ezhPOnvtK7k21JifLLFMZiehk6pRznOJQ7GMHzYylW8Kx vuz5V8o2Iup9b4F07xpB7lPrKj03Cr2SXOfbQS9RWJ0wNrKsxYtQDQVRtMi9ejmgE8wj qI//q981WpuHlMPHaXIblfyj2lEt5U7gRKN8BoySIomnp4CgGpLYqnq9JYy8Uw2qiizn Eayw== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=pxUN0assfQwAH4npwQcC9Bp1PkvWAATo6HLmNj9kEUE=; b=HRihqkS28VPYzx6m0NK50V3wvqrMOswYbeYJyoLOXyi1tPZVq3kDMOJXPaYHdii4Mb XUa25Cipyi63s0jkMJojsFIPdNO8G6O7I3aW0sNVjpGE7JuCosnCAmQJ91D7EsFeilYe l0R2StgP/N6AURIFekKU+KGa6nsUlFS9Djm8TdC5dhtRLnPIrxZeL2XAnsiGK9OjqAXY Z3sTXfABS5YBrbpbjKOzOPPrwlrq5CNOF1+EqGPCsySi6OcXcmuBLa6UmBz+umgojhQ+ UoNsyCWw8p6cBrjjG2AloP24VZG6CCAuc+cBBKWc02ZmGD0SgJVdKXI3dJksrPVIJw36 O+Sw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=Z9rTmnhk; 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 b9si11675338pgt.390.2019.03.14.06.56.56; Thu, 14 Mar 2019 06:57:18 -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=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=Z9rTmnhk; 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 S1727497AbfCNN4N (ORCPT + 99 others); Thu, 14 Mar 2019 09:56:13 -0400 Received: from mail-pg1-f195.google.com ([209.85.215.195]:43827 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726991AbfCNN4M (ORCPT ); Thu, 14 Mar 2019 09:56:12 -0400 Received: by mail-pg1-f195.google.com with SMTP id l11so4019915pgq.10 for ; Thu, 14 Mar 2019 06:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lightnvm-io.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=pxUN0assfQwAH4npwQcC9Bp1PkvWAATo6HLmNj9kEUE=; b=Z9rTmnhkHvjRSfEp239a3ZBcZatG9f2b/yWsT4okdj6Ok7g+LbdE3pgkpSsF/hJCHU SYqOi0PpQD4mxmjKA9B57ACpW3o9PvpkXDzelNMgixBKCZZVFGr3S6kIE7iqz2vyCcf9 Zf+5/nNhyghYl0b4ufjlwTubmNIXjetRC/0o4MeVDD4MYAAQKyy6V04byAqVmx5Wo+J0 4h+hMbdVTkmftDGm2AQamS3zFRL/7Nkn2WV+ONbl2VNjOlfvztdxVKPNycRZwabN31NT RLEnA7FKIdvk/owtXPOS11LX/uNSfHP7oFEic+tAtDFu6y3+eT7S0e1iF4uyjwsUPYo0 TtXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=pxUN0assfQwAH4npwQcC9Bp1PkvWAATo6HLmNj9kEUE=; b=VfTC+1SaX/MvOZqkiU0sKCMEvzVg6dCdOe7hTAzNELZaBHcVcpqoyvHauQIymt5/0H CVaaVHtnxKXxRvQ1OUA7XXQuKnicyrtg5a7HnzVWBLksnt3nQoumi5H7JXOQQz3S7O57 6+HznhhvAMoCIL85QlW3YP+GccePNHJqwv4kNA52IPJAk9zRwqdTfl8sz5IyQl37LHAa J9r0lV6/1a0Kaptl8tfrFUlr6h9XmRQBTDnvwvhcuKy+j6V98w2eUmq/vhXNbC/9wFLP D+KKWs1tZ624V8R04M1LE4zXuZhP607YqpXTRAebPnWFI7w6LH0UI6qR/mkBF8V+1Ax2 usiQ== X-Gm-Message-State: APjAAAW5zbXzDbf6iIR9HGSj8CQ/a+uA8qL7y9M7D0wmqReCIaanw4EK jsKx9y95/uxlGO3Jx+Y6W8BSZNGz3ZfmHw== X-Received: by 2002:aa7:8186:: with SMTP id g6mr49716507pfi.138.1552571771277; Thu, 14 Mar 2019 06:56:11 -0700 (PDT) Received: from [192.168.15.174] (71-6-111-190.static-ip.telepacific.net. [71.6.111.190]) by smtp.gmail.com with ESMTPSA id m24sm18129041pgv.1.2019.03.14.06.56.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Mar 2019 06:56:10 -0700 (PDT) Subject: Re: [PATCH] nvme: lightnvm: expose OC devices as zero size to OS To: Marcin Dziegielewski Cc: igor.j.konopko@intel.com, Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org References: <1552570910-11706-1-git-send-email-marcin.dziegielewski@intel.com> From: =?UTF-8?Q?Matias_Bj=c3=b8rling?= Message-ID: <4e43d40a-b253-1493-da38-70a8c062749e@lightnvm.io> Date: Thu, 14 Mar 2019 06:56:08 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: <1552570910-11706-1-git-send-email-marcin.dziegielewski@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/14/19 6:41 AM, Marcin Dziegielewski wrote: > Open channel devices are not able to handle traditional > IO requests addressed by LBA, so following current > approach to exposing special nvme devices as zero size > (e.g. with namespace formatted to use metadata) also > open channel devices should be exposed as zero size > to OS. > > Signed-off-by: Marcin Dziegielewski > --- > drivers/nvme/host/core.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c > index 07bf2bf..52cd5c8 100644 > --- a/drivers/nvme/host/core.c > +++ b/drivers/nvme/host/core.c > @@ -1606,7 +1606,8 @@ static void nvme_update_disk_info(struct gendisk *disk, > if (ns->ms && !ns->ext && > (ns->ctrl->ops->flags & NVME_F_METADATA_SUPPORTED)) > nvme_init_integrity(disk, ns->ms, ns->pi_type); > - if (ns->ms && !nvme_ns_has_pi(ns) && !blk_get_integrity(disk)) > + if ((ns->ms && !nvme_ns_has_pi(ns) && !blk_get_integrity(disk)) || > + ns->ndev) > capacity = 0; > > set_capacity(disk, capacity); > Marcin, The read/write as traditional I/Os feature is supported in OCSSD 2.0. For example, one can hook support up through the zone device support in the kernel. There is a patch here that enables it here: https://github.com/OpenChannelSSD/linux/commit/e79e747601a315784e505d51a9265e82a3e7613c With that, an OCSSD device can be used as a traditional zoned block device, and use the existing infrastructure. Which is really neat. It is not upstream, since it depends on some features that we introduce with zoned namespaces, but in general, tools can read/write from a block device as any other, just honoring the special write rules that are for OCSSD/zoned block devices. -Matias