Lines Matching refs:new_fm
1132 struct ubi_fastmap_layout *new_fm) in ubi_write_fastmap() argument
1189 fmsb->used_blocks = cpu_to_be32(new_fm->used_blocks); in ubi_write_fastmap()
1337 dbg_bld("writing fastmap SB to PEB %i", new_fm->e[0]->pnum); in ubi_write_fastmap()
1338 ret = ubi_io_write_vid_hdr(ubi, new_fm->e[0]->pnum, avbuf); in ubi_write_fastmap()
1344 for (i = 0; i < new_fm->used_blocks; i++) { in ubi_write_fastmap()
1345 fmsb->block_loc[i] = cpu_to_be32(new_fm->e[i]->pnum); in ubi_write_fastmap()
1346 set_seen(ubi, new_fm->e[i]->pnum, seen_pebs); in ubi_write_fastmap()
1347 fmsb->block_ec[i] = cpu_to_be32(new_fm->e[i]->ec); in ubi_write_fastmap()
1354 for (i = 1; i < new_fm->used_blocks; i++) { in ubi_write_fastmap()
1358 new_fm->e[i]->pnum, be64_to_cpu(dvhdr->sqnum)); in ubi_write_fastmap()
1359 ret = ubi_io_write_vid_hdr(ubi, new_fm->e[i]->pnum, dvbuf); in ubi_write_fastmap()
1362 new_fm->e[i]->pnum); in ubi_write_fastmap()
1367 for (i = 0; i < new_fm->used_blocks; i++) { in ubi_write_fastmap()
1369 new_fm->e[i]->pnum, 0, ubi->leb_size); in ubi_write_fastmap()
1372 new_fm->e[i]->pnum); in ubi_write_fastmap()
1377 ubi_assert(new_fm); in ubi_write_fastmap()
1378 ubi->fm = new_fm; in ubi_write_fastmap()
1540 struct ubi_fastmap_layout *new_fm, *old_fm; in ubi_update_fastmap() local
1556 new_fm = kzalloc(sizeof(*new_fm), GFP_KERNEL); in ubi_update_fastmap()
1557 if (!new_fm) { in ubi_update_fastmap()
1564 new_fm->used_blocks = ubi->fm_size / ubi->leb_size; in ubi_update_fastmap()
1568 if (new_fm->used_blocks > UBI_FM_MAX_BLOCKS) { in ubi_update_fastmap()
1574 for (i = 1; i < new_fm->used_blocks; i++) { in ubi_update_fastmap()
1586 ubi_wl_put_fm_peb(ubi, new_fm->e[j], in ubi_update_fastmap()
1588 new_fm->e[j] = NULL; in ubi_update_fastmap()
1592 new_fm->e[i] = old_fm->e[i]; in ubi_update_fastmap()
1598 ubi_wl_put_fm_peb(ubi, new_fm->e[j], j, 0); in ubi_update_fastmap()
1599 new_fm->e[j] = NULL; in ubi_update_fastmap()
1606 new_fm->e[i] = tmp_e; in ubi_update_fastmap()
1617 if (old_fm && new_fm->used_blocks < old_fm->used_blocks) { in ubi_update_fastmap()
1618 for (i = new_fm->used_blocks; i < old_fm->used_blocks; i++) { in ubi_update_fastmap()
1637 for (i = 1; i < new_fm->used_blocks; i++) { in ubi_update_fastmap()
1638 ubi_wl_put_fm_peb(ubi, new_fm->e[i], in ubi_update_fastmap()
1640 new_fm->e[i] = NULL; in ubi_update_fastmap()
1644 new_fm->e[0] = old_fm->e[0]; in ubi_update_fastmap()
1645 new_fm->e[0]->ec = ret; in ubi_update_fastmap()
1651 new_fm->e[0] = tmp_e; in ubi_update_fastmap()
1658 for (i = 1; i < new_fm->used_blocks; i++) { in ubi_update_fastmap()
1659 ubi_wl_put_fm_peb(ubi, new_fm->e[i], i, 0); in ubi_update_fastmap()
1660 new_fm->e[i] = NULL; in ubi_update_fastmap()
1666 new_fm->e[0] = tmp_e; in ubi_update_fastmap()
1669 ret = ubi_write_fastmap(ubi, new_fm); in ubi_update_fastmap()
1693 return_fm_pebs(ubi, new_fm); in ubi_update_fastmap()
1697 kfree(new_fm); in ubi_update_fastmap()