[PATCH] lightnvm: deprecated OCSSD support and schedule it for removal in Linux 5.15

Matias Bjørling mb at lightnvm.io
Mon Apr 12 10:21:12 BST 2021


On 12/04/2021 10.12, Christoph Hellwig wrote:
> Lightnvm was an innovative idea to expose more low-level control over SSDs.
> But it failed to get properly standardized and remains a non-standarized
> extension to NVMe that requires vendor specific quirks for a few now mostly
> obsolete SSD devices.  The standardized ZNS command set for NVMe has take
> over a lot of the approaches and allows for fully standardized operation.
>
> Remove the Linux code to support open channel SSDs as the few production
> deployments of the above mentioned SSDs are using userspace driver stacks
> instead of the fairly limited Linux support.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> ---
>   drivers/lightnvm/Kconfig | 4 +++-
>   drivers/lightnvm/core.c  | 2 ++
>   2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/lightnvm/Kconfig b/drivers/lightnvm/Kconfig
> index 4c2ce210c1237d..04caa0f2d445c7 100644
> --- a/drivers/lightnvm/Kconfig
> +++ b/drivers/lightnvm/Kconfig
> @@ -4,7 +4,7 @@
>   #
>   
>   menuconfig NVM
> -	bool "Open-Channel SSD target support"
> +	bool "Open-Channel SSD target support (DEPRECATED)"
>   	depends on BLOCK
>   	help
>   	  Say Y here to get to enable Open-channel SSDs.
> @@ -15,6 +15,8 @@ menuconfig NVM
>   	  If you say N, all options in this submenu will be skipped and disabled
>   	  only do this if you know what you are doing.
>   
> +	  This code is deprecated and will be removed in Linux 5.15.
> +
>   if NVM
>   
>   config NVM_PBLK
> diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
> index 28ddcaa5358b14..4394f47c81296a 100644
> --- a/drivers/lightnvm/core.c
> +++ b/drivers/lightnvm/core.c
> @@ -1174,6 +1174,8 @@ int nvm_register(struct nvm_dev *dev)
>   {
>   	int ret, exp_pool_size;
>   
> +	pr_warn_once("lightnvm support is deprecated and will be removed in Linux 5.15.\n");
> +
>   	if (!dev->q || !dev->ops) {
>   		kref_put(&dev->ref, nvm_free);
>   		return -EINVAL;

Thanks, Christoph.

I'll send it to Jens with today's lightnvm PR.



More information about the Linux-nvme mailing list