mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Marcin Dziegielewski <marcin.dziegielewski@intel.com>
To: "Matias Bjørling" <mb@lightnvm.io>
Cc: igor.j.konopko@intel.com, Keith Busch <keith.busch@intel.com>,
	Jens Axboe <axboe@fb.com>, Christoph Hellwig <hch@lst.de>,
	Sagi Grimberg <sagi@grimberg.me>,
	linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] nvme: lightnvm: expose OC devices as zero size to OS
Date: Mon, 18 Mar 2019 14:32:43 +0100	[thread overview]
Message-ID: <16807f7f-075b-aa27-72c3-a905772ac36d@intel.com> (raw)
In-Reply-To: <4e43d40a-b253-1493-da38-70a8c062749e@lightnvm.io>

On 3/14/19 2:56 PM, Matias Bjørling wrote:
> 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 <marcin.dziegielewski@intel.com>
>> ---
>>   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

Matias,

If zone related changes will be in upstream soon, I agree that this 
patch is not needed.

But, I can not agree that tools can use OCSSD device as normal block 
device - for example in current implementation I don't see way to send 
erase request and of course without it we can not send write. Because of 
that, it was my intention to block normal IO to OCSSD device by default.

Marcin

  reply	other threads:[~2019-03-18 13:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-14 13:41 Marcin Dziegielewski
2019-03-14 13:56 ` Matias Bjørling
2019-03-18 13:32   ` Marcin Dziegielewski [this message]
2019-03-25 10:56     ` Matias Bjørling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16807f7f-075b-aa27-72c3-a905772ac36d@intel.com \
    --to=marcin.dziegielewski@intel.com \
    --cc=axboe@fb.com \
    --cc=hch@lst.de \
    --cc=igor.j.konopko@intel.com \
    --cc=keith.busch@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=mb@lightnvm.io \
    --cc=sagi@grimberg.me \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®