Commit f8ee34a9 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

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

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: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJavier González <javier@javigon.com>
Signed-off-by: default avatarMatias Bjørling <mb@lightnvm.io>
Link: https://lore.kernel.org/r/20210413105257.159260-5-matias.bjorling@wdc.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 655cdafd
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
menuconfig NVM menuconfig NVM
bool "Open-Channel SSD target support" bool "Open-Channel SSD target support (DEPRECATED)"
depends on BLOCK depends on BLOCK
help help
Say Y here to get to enable Open-channel SSDs. Say Y here to get to enable Open-channel SSDs.
...@@ -15,6 +15,8 @@ menuconfig NVM ...@@ -15,6 +15,8 @@ menuconfig NVM
If you say N, all options in this submenu will be skipped and disabled If you say N, all options in this submenu will be skipped and disabled
only do this if you know what you are doing. only do this if you know what you are doing.
This code is deprecated and will be removed in Linux 5.15.
if NVM if NVM
config NVM_PBLK config NVM_PBLK
......
...@@ -1174,6 +1174,8 @@ int nvm_register(struct nvm_dev *dev) ...@@ -1174,6 +1174,8 @@ int nvm_register(struct nvm_dev *dev)
{ {
int ret, exp_pool_size; 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) { if (!dev->q || !dev->ops) {
kref_put(&dev->ref, nvm_free); kref_put(&dev->ref, nvm_free);
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment