aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/lightnvm/pblk-core.c')
-rw-r--r--drivers/lightnvm/pblk-core.c18
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
68static void __pblk_map_invalidate(struct pblk *pblk, struct pblk_line *line, 68void __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
132void 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
144static void pblk_invalidate_range(struct pblk *pblk, sector_t slba, 132static 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 !=