Lines Matching refs:new_fm
1122 struct ubi_fastmap_layout *new_fm) in ubi_write_fastmap() argument
1179 fmsb->used_blocks = cpu_to_be32(new_fm->used_blocks); in ubi_write_fastmap()
1327 dbg_bld("writing fastmap SB to PEB %i", new_fm->e[0]->pnum); in ubi_write_fastmap()
1328 ret = ubi_io_write_vid_hdr(ubi, new_fm->e[0]->pnum, avbuf); in ubi_write_fastmap()
1334 for (i = 0; i < new_fm->used_blocks; i++) { in ubi_write_fastmap()
1335 fmsb->block_loc[i] = cpu_to_be32(new_fm->e[i]->pnum); in ubi_write_fastmap()
1336 set_seen(ubi, new_fm->e[i]->pnum, seen_pebs); in ubi_write_fastmap()
1337 fmsb->block_ec[i] = cpu_to_be32(new_fm->e[i]->ec); in ubi_write_fastmap()
1344 for (i = 1; i < new_fm->used_blocks; i++) { in ubi_write_fastmap()
1348 new_fm->e[i]->pnum, be64_to_cpu(dvhdr->sqnum)); in ubi_write_fastmap()
1349 ret = ubi_io_write_vid_hdr(ubi, new_fm->e[i]->pnum, dvbuf); in ubi_write_fastmap()
1352 new_fm->e[i]->pnum); in ubi_write_fastmap()
1357 for (i = 0; i < new_fm->used_blocks; i++) { in ubi_write_fastmap()
1359 new_fm->e[i]->pnum, 0, ubi->leb_size); in ubi_write_fastmap()
1362 new_fm->e[i]->pnum); in ubi_write_fastmap()
1367 ubi_assert(new_fm); in ubi_write_fastmap()
1368 ubi->fm = new_fm; in ubi_write_fastmap()
1527 struct ubi_fastmap_layout *new_fm, *old_fm; in ubi_update_fastmap() local
1551 new_fm = kzalloc(sizeof(*new_fm), GFP_KERNEL); in ubi_update_fastmap()
1552 if (!new_fm) { in ubi_update_fastmap()
1559 new_fm->used_blocks = ubi->fm_size / ubi->leb_size; in ubi_update_fastmap()
1563 if (new_fm->used_blocks > UBI_FM_MAX_BLOCKS) { in ubi_update_fastmap()
1569 for (i = 1; i < new_fm->used_blocks; i++) { in ubi_update_fastmap()
1581 ubi_wl_put_fm_peb(ubi, new_fm->e[j], in ubi_update_fastmap()
1583 new_fm->e[j] = NULL; in ubi_update_fastmap()
1587 new_fm->e[i] = old_fm->e[i]; in ubi_update_fastmap()
1593 ubi_wl_put_fm_peb(ubi, new_fm->e[j], j, 0); in ubi_update_fastmap()
1594 new_fm->e[j] = NULL; in ubi_update_fastmap()
1601 new_fm->e[i] = tmp_e; in ubi_update_fastmap()
1612 if (old_fm && new_fm->used_blocks < old_fm->used_blocks) { in ubi_update_fastmap()
1613 for (i = new_fm->used_blocks; i < old_fm->used_blocks; i++) { in ubi_update_fastmap()
1631 for (i = 1; i < new_fm->used_blocks; i++) { in ubi_update_fastmap()
1632 ubi_wl_put_fm_peb(ubi, new_fm->e[i], in ubi_update_fastmap()
1634 new_fm->e[i] = NULL; in ubi_update_fastmap()
1638 new_fm->e[0] = old_fm->e[0]; in ubi_update_fastmap()
1639 new_fm->e[0]->ec = ret; in ubi_update_fastmap()
1645 new_fm->e[0] = tmp_e; in ubi_update_fastmap()
1652 for (i = 1; i < new_fm->used_blocks; i++) { in ubi_update_fastmap()
1653 ubi_wl_put_fm_peb(ubi, new_fm->e[i], i, 0); in ubi_update_fastmap()
1654 new_fm->e[i] = NULL; in ubi_update_fastmap()
1660 new_fm->e[0] = tmp_e; in ubi_update_fastmap()
1663 ret = ubi_write_fastmap(ubi, new_fm); in ubi_update_fastmap()
1684 return_fm_pebs(ubi, new_fm); in ubi_update_fastmap()
1688 kfree(new_fm); in ubi_update_fastmap()