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 15:01:17 +0000 (08:01 -0700)
commitb8eacf0b6d87ca315058aa07c78bc80bfb5b5553
tree85f4647731c3678e9fec4e3cac412aff66a86a86
parent9451da5b9335c165cb7ab344a80a9c7d91157d4d
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