lightnvm: move block provisioning to targets
authorJavier González <jg@lightnvm.io>
Mon, 28 Nov 2016 21:39:06 +0000 (22:39 +0100)
committerJens Axboe <axboe@fb.com>
Tue, 29 Nov 2016 19:12:51 +0000 (12:12 -0700)
commit8e79b5cb1d3b8eceaf6862995952dd4de431dd99
tree85f4647731c3678e9fec4e3cac412aff66a86a86
parent8176117b82e49e043d045f214ba7a892fba6b827
lightnvm: move block provisioning to targets

In order to naturally support multi-target instances on an Open-Channel
SSD, targets should own the LUNs they get blocks from and manage
provisioning internally. This is done in several steps.

This patch moves the block provisioning inside of the target and removes
the get/put block interface from the media manager.

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>
drivers/lightnvm/core.c
drivers/lightnvm/gennvm.c
drivers/lightnvm/rrpc.c
drivers/lightnvm/rrpc.h
drivers/lightnvm/sysblk.c
drivers/nvme/host/lightnvm.c
include/linux/lightnvm.h