summaryrefslogtreecommitdiff
path: root/drivers/lightnvm/gennvm.h
diff options
context:
space:
mode:
authorJavier González <jg@lightnvm.io>2016-11-28 22:39:04 +0100
committerJens Axboe <axboe@fb.com>2016-11-29 12:12:51 -0700
commitde93434fcf74d41754a48e45365a5914e00bc0be (patch)
tree9eae34dfc2ddf9fa9fad129fb78e1f00e90277ae /drivers/lightnvm/gennvm.h
parent98379a12c54974ee5856dcf81781a5dc845505c3 (diff)
lightnvm: remove gen_lun abstraction
The gen_lun abstraction in the generic media manager was conceived on the assumption that a single target would instantiated on top of it. This has complicated target design to implement multi-instances. Remove this abstraction and move its logic to nvm_lun, which manages physical lun geometry and operations. Signed-off-by: Javier González <javier@cnexlabs.com> Signed-off-by: Matias Bjørling <m@bjorling.me> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/lightnvm/gennvm.h')
-rw-r--r--drivers/lightnvm/gennvm.h16
1 files changed, 1 insertions, 15 deletions
diff --git a/drivers/lightnvm/gennvm.h b/drivers/lightnvm/gennvm.h
index 8ecfa817d21d..d167f391fbae 100644
--- a/drivers/lightnvm/gennvm.h
+++ b/drivers/lightnvm/gennvm.h
@@ -20,25 +20,11 @@
#include <linux/lightnvm.h>
-struct gen_lun {
- struct nvm_lun vlun;
-
- int reserved_blocks;
- /* lun block lists */
- struct list_head used_list; /* In-use blocks */
- struct list_head free_list; /* Not used blocks i.e. released
- * and ready for use
- */
- struct list_head bb_list; /* Bad blocks. Mutually exclusive with
- * free_list and used_list
- */
-};
-
struct gen_dev {
struct nvm_dev *dev;
int nr_luns;
- struct gen_lun *luns;
+ struct nvm_lun *luns;
struct list_head area_list;
struct mutex lock;