lightnvm: support multiple ppas in nvm_erase_ppa

Sometimes a user want to erase multiple PPAs at the same time. Extend
nvm_erase_ppa to take multiple ppas and number of ppas to be erased.

Signed-off-by: Matias Bjørling <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
This commit is contained in:
Matias Bjørling 2016-01-12 07:49:28 +01:00 • committed by Jens Axboe
commit 81e681d3f7
3 changed files with 4 additions and 4 deletions

View file

@ -265,7 +265,7 @@ void nvm_free_rqd_ppalist(struct nvm_dev *dev, struct nvm_rq *rqd)
}
EXPORT_SYMBOL(nvm_free_rqd_ppalist);
int nvm_erase_ppa(struct nvm_dev *dev, struct ppa_addr ppa)
int nvm_erase_ppa(struct nvm_dev *dev, struct ppa_addr *ppas, int nr_ppas)
{
struct nvm_rq rqd;
int ret;
@ -275,7 +275,7 @@ int nvm_erase_ppa(struct nvm_dev *dev, struct ppa_addr ppa)
memset(&rqd, 0, sizeof(struct nvm_rq));
ret = nvm_set_rqd_ppalist(dev, &rqd, &ppa, 1);
ret = nvm_set_rqd_ppalist(dev, &rqd, ppas, nr_ppas);
if (ret)
return ret;

View file

@ -396,7 +396,7 @@ static int gennvm_erase_blk(struct nvm_dev *dev, struct nvm_block *blk,
{
struct ppa_addr addr = block_to_ppa(dev, blk);
return nvm_erase_ppa(dev, addr);
return nvm_erase_ppa(dev, &addr, 1);
}
static struct nvm_lun *gennvm_get_lun(struct nvm_dev *dev, int lunid)