[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4ac29eb8-65bf-f733-d196-80c5bb41876c@lightnvm.io>
Date: Fri, 7 Sep 2018 12:28:33 +0200
From: Matias Bjørling <mb@...htnvm.io>
To: javier@...igon.com
Cc: igor.j.konopko@...el.com, marcin.dziegielewski@...el.com,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
javier@...xlabs.com
Subject: Re: [PATCH 2/3] lightnvm: do no update csecs and sos on 1.2
On 08/29/2018 12:09 PM, Javier González wrote:
> In the OCSSD 2.0 spec., the sector and metadata sizes are reported though
> the standard nvme identify command. Thus, the lightnvm subsystem needs
> to update this information on the geometry structure on bootup.
>
> Since 1.2 devices report these values on the OCSSD geometry identify,
> avoid this update is it is unnecessary and can also corrupt the geometry
> if the devices does not report the nvme sizes correctly (which is not
> required by the OCSSD 1.2 spec either) >
> Signed-off-by: Javier González <javier@...xlabs.com>
> ---
> drivers/nvme/host/lightnvm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
> index 5bfa354c5dd5..33ed09f8410e 100644
> --- a/drivers/nvme/host/lightnvm.c
> +++ b/drivers/nvme/host/lightnvm.c
> @@ -980,6 +980,9 @@ void nvme_nvm_update_nvm_info(struct nvme_ns *ns)
> struct nvm_dev *ndev = ns->ndev;
> struct nvm_geo *geo = &ndev->geo;
>
> + if (geo->version == NVM_OCSSD_SPEC_12)
> + return;
The lba format sizes are not explicit in 2.0 either. For a conforming
drive, it should implement the NVM Command Set and expose the LBA format
correctly. Although, I do get your incentive, and if it is okay with
you, I'll reword the commit message to this and apply it?:
"1.2 devices exposes their data and metadata size through the separate
identify command. Make sure that the NVMe LBA format does not override
these values."
> +
> geo->csecs = 1 << ns->lba_shift;
> geo->sos = ns->ms;
> }
>
Powered by blists - more mailing lists