lightnvm: transform target get/set bad block
Since targets are given a virtual target device, it is necessary to translate all communication between targets and the backend device. Implement the translation layer for get/set bad block table. Signed-off-by: Javier González <javier@cnexlabs.com> Signed-off-by: Matias Bjørling <m@bjorling.me> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:

committed by
Jens Axboe

parent
da2d7cb828
commit
333ba053d1
@@ -735,7 +735,7 @@ static void __rrpc_mark_bad_block(struct rrpc *rrpc, struct ppa_addr ppa)
|
||||
rblk = &rlun->blocks[ppa.g.blk];
|
||||
rblk->state = NVM_BLK_ST_BAD;
|
||||
|
||||
nvm_set_bb_tbl(dev->parent, &ppa, 1, NVM_BLK_T_GRWN_BAD);
|
||||
nvm_set_tgt_bb_tbl(dev, &ppa, 1, NVM_BLK_T_GRWN_BAD);
|
||||
}
|
||||
|
||||
static void rrpc_mark_bad_block(struct rrpc *rrpc, struct nvm_rq *rqd)
|
||||
@@ -1267,7 +1267,7 @@ static int rrpc_bb_discovery(struct nvm_tgt_dev *dev, struct rrpc_lun *rlun)
|
||||
ppa.g.ch = rlun->bppa.g.ch;
|
||||
ppa.g.lun = rlun->bppa.g.lun;
|
||||
|
||||
ret = nvm_get_bb_tbl(dev->parent, ppa, blks);
|
||||
ret = nvm_get_tgt_bb_tbl(dev, ppa, blks);
|
||||
if (ret) {
|
||||
pr_err("rrpc: could not get BB table\n");
|
||||
goto out;
|
||||
|
Reference in New Issue
Block a user