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