aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/lightnvm/pblk-recovery.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/lightnvm/pblk-recovery.c b/drivers/lightnvm/pblk-recovery.c
index 865fe310cab4..a9085b0e6611 100644
--- a/drivers/lightnvm/pblk-recovery.c
+++ b/drivers/lightnvm/pblk-recovery.c
@@ -655,10 +655,12 @@ static int pblk_line_was_written(struct pblk_line *line,
655 bppa = pblk->luns[smeta_blk].bppa; 655 bppa = pblk->luns[smeta_blk].bppa;
656 chunk = &line->chks[pblk_ppa_to_pos(geo, bppa)]; 656 chunk = &line->chks[pblk_ppa_to_pos(geo, bppa)];
657 657
658 if (chunk->state & NVM_CHK_ST_FREE) 658 if (chunk->state & NVM_CHK_ST_CLOSED ||
659 return 0; 659 (chunk->state & NVM_CHK_ST_OPEN
660 && chunk->wp >= lm->smeta_sec))
661 return 1;
660 662
661 return 1; 663 return 0;
662} 664}
663 665
664static bool pblk_line_is_open(struct pblk *pblk, struct pblk_line *line) 666static bool pblk_line_is_open(struct pblk *pblk, struct pblk_line *line)