lightnvm: make nvm_set_rqd_ppalist() aware of vblks
authorMatias Bjørling <m@bjorling.me>
Fri, 6 May 2016 18:03:07 +0000 (20:03 +0200)
committerJens Axboe <axboe@fb.com>
Fri, 6 May 2016 18:51:10 +0000 (12:51 -0600)
commit5ebc7d9fe13ff9bd3622d0be3cd39c8751459be6
treedfca4e0b1029af8fcf8fe52ce6de69a4eb7bcdb0
parent6659d4d80c6fc6b4b5bc2e99988f32b1b3865f1d
lightnvm: make nvm_set_rqd_ppalist() aware of vblks

A virtual block enables a block to identify multiple physical blocks.
This is useful for metadata where a device media supports multiple
planes. In that case, a block, with multiple planes can be managed
as a single vblk. Reducing the metadata required by one forth.

nvm_set_rqd_ppalist() takes care of expanding a ppa_list with vblks
automatically. However, for some use-cases, where only a single physical
block is required, the ppa_list should not be expanded.

Therefore, add a vblk parameter to nvm_set_rqd_ppalist(), and only
expand the ppa_list if vblk is set.

Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/lightnvm/core.c
drivers/lightnvm/sysblk.c
include/linux/lightnvm.h