OpenCloudOS-Kernel/drivers/lightnvm
Matias Bjørling 8b4970c41f lightnvm: introduce factory reset
Now that a device can be managed using the system blocks, a method to
reset the device is necessary as well. This patch introduces logic to
reset the device easily to factory state and exposes it through an
ioctl.

The ioctl takes the following flags:

  NVM_FACTORY_ERASE_ONLY_USER
      By default all blocks, except host-reserved blocks are erased upon
      factory reset. Instead of this, only erase host-reserved blocks.
  NVM_FACTORY_RESET_HOST_BLKS
      Mark host-reserved blocks to be erased and set their type to free.
  NVM_FACTORY_RESET_GRWN_BBLKS
      Mark "grown bad blocks" to be erased and set their type to free.

Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-01-12 08:21:18 -07:00
..
Kconfig lightnvm: do not compile in debugging by default 2015-12-07 09:14:20 -07:00
Makefile lightnvm: core on-disk initialization 2016-01-12 08:21:18 -07:00
core.c lightnvm: introduce factory reset 2016-01-12 08:21:18 -07:00
gennvm.c lightnvm: manage open and closed blocks separately 2016-01-12 08:21:17 -07:00
gennvm.h lightnvm: update bad block table format 2015-11-16 15:20:25 -07:00
rrpc.c lightnvm: manage open and closed blocks separately 2016-01-12 08:21:17 -07:00
rrpc.h lightnvm: manage open and closed blocks separately 2016-01-12 08:21:17 -07:00
sysblk.c lightnvm: introduce factory reset 2016-01-12 08:21:18 -07:00