lkml.org 
[lkml]   [2018]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH V2 4/4] nvme: lightnvm: add late setup of block size and metadata
From
Date
On 02/12/2018 09:21 PM, Javier Gonzalez wrote:
>
>> On 9 Feb 2018, at 01.27, Matias Bjørling <mb@lightnvm.io> wrote:
>>
>> The nvme driver sets up the size of the nvme namespace in two steps.
>> First it initializes the device with standard logical block and
>> metadata sizes, and then sets the correct logical block and metadata
>> size. Due to the OCSSD 2.0 specification relies on the namespace to
>> expose these sizes for correct initialization, let it be updated
>> appropriately on the LightNVM side as well.
>>
>> Signed-off-by: Matias Bjørling <mb@lightnvm.io>
>> ---
>>
>
> This late initialization breaks ligthnvm's core init since the sector
> size (csecs) is used on the first init part to set the logical block size.
>
> nvm_core_init -> blk_queue_logical_block_size(dev->q, dev_geo->c.csecs);
>
> We can do do a nvme_nvm_revalidate and set this on the revalidation path
> instead of simply updating the info as in nvme_nvm_update_nvm_info().'

I believe that is what the patch does (nvme_nvm_update_nvm_info is
called from the nvme_revalidate_disk context).

The nvm_core_init initialization of the block size is redundant and
should be removed. I'll update the patch.

\
 
 \ /
  Last update: 2018-02-15 09:58    [W:0.066 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site