Re: [PATCH V2 4/4] nvme: lightnvm: add late setup of block size and metadata

From: Javier Gonzalez
Date: Mon Feb 12 2018 - 15:21:59 EST



> On 9 Feb 2018, at 01.27, Matias BjÃrling <mb@xxxxxxxxxxx> 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@xxxxxxxxxxx>
> ---
>

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().

Javier

Attachment: signature.asc
Description: Message signed with OpenPGP