nvme: refactor namespaces to support non-gendisk devices

With LightNVM enabled namespaces, the gendisk structure is not exposed
to the user. This prevents LightNVM users from accessing the NVMe device
driver specific sysfs entries, and LightNVM namespace geometry.

Refactor the revalidation process, so that a namespace, instead of a
gendisk, is revalidated. This later allows patches to wire up the
sysfs entries up to a non-gendisk namespace.

Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
Matias Bjørling
2016-09-16 14:25:04 +02:00
committed by Jens Axboe
parent e105ddb4a2
commit ac81bfa986
3 changed files with 78 additions and 43 deletions

View File

@@ -581,6 +581,8 @@ static int nvm_core_init(struct nvm_dev *dev)
mutex_init(&dev->mlock);
spin_lock_init(&dev->lock);
blk_queue_logical_block_size(dev->q, dev->sec_size);
return 0;
err_fmtype:
kfree(dev->lun_map);