Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61a561d8 authored by Matias Bjørling's avatar Matias Bjørling Committed by Jens Axboe
Browse files

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: default avatarMatias Bjørling <matias@cnexlabs.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 8f4fe008
Loading
Loading
Loading
Loading
+9 −32
Original line number Diff line number Diff line
@@ -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));