Lines Matching full:lm
409 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_gc_list() local
429 } else if (vsc < lm->high_thrs) { in pblk_line_gc_list()
434 } else if (vsc < lm->mid_thrs) { in pblk_line_gc_list()
459 lm->high_thrs, lm->mid_thrs); in pblk_line_gc_list()
605 pblk->lm.sec_per_line, line->cur_sec); in pblk_dealloc_page()
621 if (line->cur_sec + nr_secs > pblk->lm.sec_per_line) { in __pblk_alloc_page()
623 nr_secs = pblk->lm.sec_per_line - line->cur_sec; in __pblk_alloc_page()
627 pblk->lm.sec_per_line, line->cur_sec); in __pblk_alloc_page()
656 pblk->lm.sec_per_line, line->cur_sec); in pblk_lookup_page()
666 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_smeta_start() local
670 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_smeta_start()
671 if (bit >= lm->blk_per_line) in pblk_line_smeta_start()
679 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_smeta_read() local
692 rqd.nr_ppas = lm->smeta_sec; in pblk_line_smeta_read()
696 for (i = 0; i < lm->smeta_sec; i++, paddr++) in pblk_line_smeta_read()
720 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_smeta_write() local
734 rqd.nr_ppas = lm->smeta_sec; in pblk_line_smeta_write()
738 for (i = 0; i < lm->smeta_sec; i++, paddr++) { in pblk_line_smeta_write()
769 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_emeta_read() local
776 int left_ppas = lm->emeta_sec[0]; in pblk_line_emeta_read()
887 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_erase() local
894 bit = find_next_zero_bit(line->erase_bitmap, lm->blk_per_line, in pblk_line_erase()
896 if (bit >= lm->blk_per_line) { in pblk_line_erase()
920 struct pblk_line_meta *lm) in pblk_line_setup_metadata() argument
941 memset(line->smeta, 0, lm->smeta_len); in pblk_line_setup_metadata()
942 memset(line->emeta->buf, 0, lm->emeta_len[0]); in pblk_line_setup_metadata()
956 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_init_metadata() local
966 nr_blk_line = lm->blk_per_line - in pblk_line_init_metadata()
967 bitmap_weight(line->blk_bitmap, lm->blk_per_line); in pblk_line_init_metadata()
968 if (nr_blk_line < lm->min_blk_line) { in pblk_line_init_metadata()
988 bitmap_set(line->lun_bitmap, 0, lm->lun_bitmap_len); in pblk_line_init_metadata()
1003 memcpy(line->lun_bitmap, cur->lun_bitmap, lm->lun_bitmap_len); in pblk_line_init_metadata()
1036 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_alloc_bitmaps() local
1043 memset(line->map_bitmap, 0, lm->sec_bitmap_len); in pblk_line_alloc_bitmaps()
1064 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_init_bb() local
1070 line->sec_in_line = lm->sec_per_line; in pblk_line_init_bb()
1073 while ((bit = find_next_bit(line->blk_bitmap, lm->blk_per_line, in pblk_line_init_bb()
1074 bit + 1)) < lm->blk_per_line) { in pblk_line_init_bb()
1077 lm->sec_per_line); in pblk_line_init_bb()
1079 lm->sec_per_line); in pblk_line_init_bb()
1084 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_init_bb()
1086 bitmap_set(line->map_bitmap, off, lm->smeta_sec); in pblk_line_init_bb()
1087 line->sec_in_line -= lm->smeta_sec; in pblk_line_init_bb()
1088 line->cur_sec = off + lm->smeta_sec; in pblk_line_init_bb()
1095 bitmap_copy(line->invalid_bitmap, line->map_bitmap, lm->sec_per_line); in pblk_line_init_bb()
1100 emeta_secs = lm->emeta_sec[0]; in pblk_line_init_bb()
1101 off = lm->sec_per_line; in pblk_line_init_bb()
1111 line->sec_in_line -= lm->emeta_sec[0]; in pblk_line_init_bb()
1116 if (lm->sec_per_line - line->sec_in_line != in pblk_line_init_bb()
1117 bitmap_weight(line->invalid_bitmap, lm->sec_per_line)) { in pblk_line_init_bb()
1135 struct pblk_line_meta *lm = &pblk->lm; in pblk_prepare_new_line() local
1141 for (i = 0; i < lm->blk_per_line; i++) { in pblk_prepare_new_line()
1159 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_prepare() local
1164 bitmap_copy(line->erase_bitmap, line->blk_bitmap, lm->blk_per_line); in pblk_line_prepare()
1180 if (blk_in_line < lm->min_blk_line) { in pblk_line_prepare()
1199 line->meta_distance = lm->meta_distance; in pblk_line_prepare()
1280 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_get() local
1296 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_get()
1297 if (unlikely(bit >= lm->blk_per_line)) { in pblk_line_get()
1387 pblk_line_setup_metadata(line, l_mg, &pblk->lm); in pblk_line_get_first_data()
1465 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close_meta_sync() local
1481 while (emeta->mem < lm->emeta_len[0]) { in pblk_line_close_meta_sync()
1557 pblk_line_setup_metadata(new, l_mg, &pblk->lm); in pblk_line_replace_data()
1746 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close() local
1752 WARN(!bitmap_full(line->map_bitmap, lm->sec_per_line), in pblk_line_close()
1772 for (i = 0; i < lm->blk_per_line; i++) { in pblk_line_close()
1791 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close_meta() local
1794 struct wa_counters *wa = emeta_to_wa(lm, emeta_buf); in pblk_line_close_meta()
1797 memcpy(emeta_to_vsc(pblk, emeta_buf), l_mg->vsc_list, lm->vsc_list_len); in pblk_line_close_meta()
1798 memcpy(emeta_to_bb(emeta_buf), line->blk_bitmap, lm->blk_bitmap_len); in pblk_line_close_meta()
1837 struct pblk_line_meta *lm = &pblk->lm; in pblk_save_lba_list() local
1838 unsigned int lba_list_size = lm->emeta_len[2]; in pblk_save_lba_list()