|
@@ -106,8 +106,6 @@ retry:
|
|
/* Map remaining sectors in chunk, starting from ppa */
|
|
/* Map remaining sectors in chunk, starting from ppa */
|
|
static void pblk_map_remaining(struct pblk *pblk, struct ppa_addr *ppa)
|
|
static void pblk_map_remaining(struct pblk *pblk, struct ppa_addr *ppa)
|
|
{
|
|
{
|
|
- struct nvm_tgt_dev *dev = pblk->dev;
|
|
|
|
- struct nvm_geo *geo = &dev->geo;
|
|
|
|
struct pblk_line *line;
|
|
struct pblk_line *line;
|
|
struct ppa_addr map_ppa = *ppa;
|
|
struct ppa_addr map_ppa = *ppa;
|
|
u64 paddr;
|
|
u64 paddr;
|
|
@@ -125,15 +123,7 @@ static void pblk_map_remaining(struct pblk *pblk, struct ppa_addr *ppa)
|
|
if (!test_and_set_bit(paddr, line->invalid_bitmap))
|
|
if (!test_and_set_bit(paddr, line->invalid_bitmap))
|
|
le32_add_cpu(line->vsc, -1);
|
|
le32_add_cpu(line->vsc, -1);
|
|
|
|
|
|
- if (geo->version == NVM_OCSSD_SPEC_12) {
|
|
|
|
- map_ppa.ppa++;
|
|
|
|
- if (map_ppa.g.pg == geo->num_pg)
|
|
|
|
- done = 1;
|
|
|
|
- } else {
|
|
|
|
- map_ppa.m.sec++;
|
|
|
|
- if (map_ppa.m.sec == geo->clba)
|
|
|
|
- done = 1;
|
|
|
|
- }
|
|
|
|
|
|
+ done = nvm_next_ppa_in_chk(pblk->dev, &map_ppa);
|
|
}
|
|
}
|
|
|
|
|
|
line->w_err_gc->has_write_err = 1;
|
|
line->w_err_gc->has_write_err = 1;
|