mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 01:00:58 +07:00
lightnvm: make nvm_map_* return void
The only check there was done was a debugging check. Remove it and replace the return value with void to reduce error checking. Signed-off-by: Matias Bjørling <matias@cnexlabs.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
8f4fe008fb
commit
61a561d8d7
@ -407,31 +407,17 @@ static int nvm_register_map(struct nvm_dev *dev)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
static int nvm_map_to_dev(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p)
|
||||
static void nvm_map_to_dev(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p)
|
||||
{
|
||||
struct nvm_dev_map *dev_map = tgt_dev->map;
|
||||
struct nvm_ch_map *ch_map = &dev_map->chnls[p->g.ch];
|
||||
int lun_off = ch_map->lun_offs[p->g.lun];
|
||||
struct nvm_dev *dev = tgt_dev->parent;
|
||||
struct nvm_dev_map *dev_rmap = dev->rmap;
|
||||
struct nvm_ch_map *ch_rmap;
|
||||
int lun_roff;
|
||||
|
||||
p->g.ch += ch_map->ch_off;
|
||||
p->g.lun += lun_off;
|
||||
|
||||
ch_rmap = &dev_rmap->chnls[p->g.ch];
|
||||
lun_roff = ch_rmap->lun_offs[p->g.lun];
|
||||
|
||||
if (unlikely(ch_rmap->ch_off < 0 || lun_roff < 0)) {
|
||||
pr_err("nvm: corrupted device partition table\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int nvm_map_to_tgt(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p)
|
||||
static void nvm_map_to_tgt(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p)
|
||||
{
|
||||
struct nvm_dev *dev = tgt_dev->parent;
|
||||
struct nvm_dev_map *dev_rmap = dev->rmap;
|
||||
@ -440,34 +426,27 @@ static int nvm_map_to_tgt(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p)
|
||||
|
||||
p->g.ch -= ch_rmap->ch_off;
|
||||
p->g.lun -= lun_roff;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int nvm_trans_rq(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd,
|
||||
static void nvm_trans_rq(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd,
|
||||
int flag)
|
||||
{
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
if (rqd->nr_ppas == 1) {
|
||||
if (flag == TRANS_TGT_TO_DEV)
|
||||
return nvm_map_to_dev(tgt_dev, &rqd->ppa_addr);
|
||||
nvm_map_to_dev(tgt_dev, &rqd->ppa_addr);
|
||||
else
|
||||
return nvm_map_to_tgt(tgt_dev, &rqd->ppa_addr);
|
||||
nvm_map_to_tgt(tgt_dev, &rqd->ppa_addr);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < rqd->nr_ppas; i++) {
|
||||
if (flag == TRANS_TGT_TO_DEV)
|
||||
ret = nvm_map_to_dev(tgt_dev, &rqd->ppa_list[i]);
|
||||
nvm_map_to_dev(tgt_dev, &rqd->ppa_list[i]);
|
||||
else
|
||||
ret = nvm_map_to_tgt(tgt_dev, &rqd->ppa_list[i]);
|
||||
|
||||
if (ret)
|
||||
break;
|
||||
nvm_map_to_tgt(tgt_dev, &rqd->ppa_list[i]);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static struct ppa_addr nvm_trans_ppa(struct nvm_tgt_dev *tgt_dev,
|
||||
@ -665,9 +644,7 @@ int nvm_erase_blk(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *ppas, int flags)
|
||||
if (!dev->ops->erase_block)
|
||||
return 0;
|
||||
|
||||
ret = nvm_map_to_dev(tgt_dev, ppas);
|
||||
if (ret)
|
||||
return ret;
|
||||
nvm_map_to_dev(tgt_dev, ppas);
|
||||
|
||||
memset(&rqd, 0, sizeof(struct nvm_rq));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user