diff options
author | Matias Bjørling <m@bjorling.me> | 2016-01-12 07:49:19 +0100 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-01-12 16:21:16 +0100 |
commit | 069368e91879a3a640cfae4bdc1f9f8cc99c93a0 (patch) | |
tree | 57a2d4df9b3c9d705afc058b952b3ab450364b6d /include | |
parent | lightnvm: unlock rq and free ppa_list on submission fail (diff) | |
download | linux-069368e91879a3a640cfae4bdc1f9f8cc99c93a0.tar.xz linux-069368e91879a3a640cfae4bdc1f9f8cc99c93a0.zip |
lightnvm: move ppa erase logic to core
A device may function in single, dual or quad plane mode. The gennvm
media manager manages this with explicit helpers. They convert a single
ppa to 1, 2 or 4 separate ppas in a ppa list. To aid implementation of
recovery and system blocks, this functionality can be moved directly
into the core.
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/lightnvm.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h index 034117b3be5f..c228dbc803bf 100644 --- a/include/linux/lightnvm.h +++ b/include/linux/lightnvm.h @@ -427,6 +427,9 @@ extern int nvm_register(struct request_queue *, char *, extern void nvm_unregister(char *); extern int nvm_submit_io(struct nvm_dev *, struct nvm_rq *); +extern void nvm_generic_to_addr_mode(struct nvm_dev *, struct nvm_rq *); +extern void nvm_addr_to_generic_mode(struct nvm_dev *, struct nvm_rq *); +extern int nvm_erase_ppa(struct nvm_dev *, struct ppa_addr); extern int nvm_erase_blk(struct nvm_dev *, struct nvm_block *); #else /* CONFIG_NVM */ struct nvm_dev_ops; |