diff options
Diffstat (limited to 'drivers/lightnvm/pblk-core.c')
| -rw-r--r-- | drivers/lightnvm/pblk-core.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/drivers/lightnvm/pblk-core.c b/drivers/lightnvm/pblk-core.c index 6e4b06f841e7..beae1618483f 100644 --- a/drivers/lightnvm/pblk-core.c +++ b/drivers/lightnvm/pblk-core.c | |||
| @@ -65,8 +65,8 @@ static void pblk_end_io_erase(struct nvm_rq *rqd) | |||
| 65 | mempool_free(rqd, pblk->g_rq_pool); | 65 | mempool_free(rqd, pblk->g_rq_pool); |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | static void __pblk_map_invalidate(struct pblk *pblk, struct pblk_line *line, | 68 | void __pblk_map_invalidate(struct pblk *pblk, struct pblk_line *line, |
| 69 | u64 paddr) | 69 | u64 paddr) |
| 70 | { | 70 | { |
| 71 | struct pblk_line_mgmt *l_mg = &pblk->l_mg; | 71 | struct pblk_line_mgmt *l_mg = &pblk->l_mg; |
| 72 | struct list_head *move_list = NULL; | 72 | struct list_head *move_list = NULL; |
| @@ -129,18 +129,6 @@ void pblk_map_invalidate(struct pblk *pblk, struct ppa_addr ppa) | |||
| 129 | __pblk_map_invalidate(pblk, line, paddr); | 129 | __pblk_map_invalidate(pblk, line, paddr); |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | void pblk_map_pad_invalidate(struct pblk *pblk, struct pblk_line *line, | ||
| 133 | u64 paddr) | ||
| 134 | { | ||
| 135 | __pblk_map_invalidate(pblk, line, paddr); | ||
| 136 | |||
| 137 | pblk_rb_sync_init(&pblk->rwb, NULL); | ||
| 138 | line->left_ssecs--; | ||
| 139 | if (!line->left_ssecs) | ||
| 140 | pblk_line_run_ws(pblk, line, NULL, pblk_line_close_ws); | ||
| 141 | pblk_rb_sync_end(&pblk->rwb, NULL); | ||
| 142 | } | ||
| 143 | |||
| 144 | static void pblk_invalidate_range(struct pblk *pblk, sector_t slba, | 132 | static void pblk_invalidate_range(struct pblk *pblk, sector_t slba, |
| 145 | unsigned int nr_secs) | 133 | unsigned int nr_secs) |
| 146 | { | 134 | { |
| @@ -1057,7 +1045,7 @@ retry_smeta: | |||
| 1057 | line->sec_in_line -= lm->emeta_sec[0]; | 1045 | line->sec_in_line -= lm->emeta_sec[0]; |
| 1058 | line->emeta_ssec = off; | 1046 | line->emeta_ssec = off; |
| 1059 | line->nr_valid_lbas = 0; | 1047 | line->nr_valid_lbas = 0; |
| 1060 | line->left_ssecs = line->left_msecs = line->sec_in_line; | 1048 | line->left_msecs = line->sec_in_line; |
| 1061 | *line->vsc = cpu_to_le32(line->sec_in_line); | 1049 | *line->vsc = cpu_to_le32(line->sec_in_line); |
| 1062 | 1050 | ||
| 1063 | if (lm->sec_per_line - line->sec_in_line != | 1051 | if (lm->sec_per_line - line->sec_in_line != |
