[RFC PATCH v2 0/1] lightnvm: move bad block and chunk state logic to core

From: Matias BjÃrling
Date: Thu Aug 16 2018 - 07:34:35 EST


This patch moves the 1.2 and 2.0 block/chunk metadata retrieval to
core.

Hi Javier, I did not end up using your patch. I had misunderstood what
was implemented. Instead I implemented the detection of the each chunk by
first sensing the first page, then the last page, and if the chunk
is sensed as open, a per page scan will be executed to update the write
pointer appropriately.

Note that one needs a real drive to test the implementation. The 1.2
qemu implementation is lacking. I did update it a bit, such that
it defaults to all blocks being free. It can be picked up in the ocssd
qemu repository.

Changes since v1:

- Add sensing of chunks wrt to free/open/closed
- Add update of write pointer if chunk state is open

Matias BjÃrling (1):
lightnvm: move bad block and chunk state logic to core

drivers/lightnvm/core.c | 310 +++++++++++++++++++++++++++++++++++--------
drivers/lightnvm/pblk-core.c | 6 +-
drivers/lightnvm/pblk-init.c | 116 +---------------
drivers/lightnvm/pblk.h | 2 +-
drivers/nvme/host/lightnvm.c | 4 +-
include/linux/lightnvm.h | 15 +--
6 files changed, 266 insertions(+), 187 deletions(-)

--
2.11.0