Home
last modified time | relevance | path

Searched full:fastmap (Results 1 – 12 of 12) sorted by relevance

/linux/drivers/mtd/ubi/
H A Dfastmap.c54 * self_check_seen - check whether all PEB have been seen by fastmap.
67 ubi_err(ubi, "self-check failed for PEB %d, fastmap didn't see it", pnum); in self_check_seen()
76 * ubi_calc_fm_size - calculates the fastmap size in bytes for an UBI device.
97 * new_fm_vbuf() - allocate a new volume header for fastmap usage.
117 /* UBI implementations without fastmap support have to delete the in new_fm_vbuf()
118 * fastmap. in new_fm_vbuf()
263 /* This case can happen if the fastmap gets written in update_vol()
352 ubi_err(ubi, "orphaned volume in fastmap pool!"); in process_pool_aeb()
364 * If fastmap detects a free PEB in the pool it has to check whether
365 * this PEB has been unmapped after writing the fastmap.
[all …]
H A DKconfig61 bool "UBI Fastmap (Experimental feature)"
65 format for fastmap may change in the next kernel versions
67 Fastmap is a mechanism which allows attaching an UBI device
69 only has to locate a checkpoint (called fastmap) on the device.
70 The on-flash fastmap contains all information needed to attach
71 the device. Using fastmap makes only sense on large devices where
73 a fastmap on old images, but you can set the UBI module parameter
74 fm_autoconvert to 1 if you want so. Please note that fastmap-enabled
76 fastmap support. On typical flash devices the whole fastmap fits
H A Dubi-media.h368 /* UBI fastmap on-flash data structures */
373 /* fastmap on-flash data structure format version */
382 /* A fastmap super block can be located between PEB 0 and
386 /* A fastmap can use up to UBI_FM_MAX_BLOCKS PEBs */
390 * from a fastmap.
397 * struct ubi_fm_sb - UBI fastmap super block
398 * @magic: fastmap super block magic number (%UBI_FM_SB_MAGIC)
399 * @version: format version of this fastmap
400 * @data_crc: CRC over the fastmap data
401 * @used_blocks: number of PEBs used by this fastmap
[all …]
H A Dfastmap-wl.c52 * @pool: fastmap pool description object
69 * @anchor: This PEB will be used as anchor PEB by fastmap
106 * reduce the fastmap updating frequency.
117 * 3. fm pebs - 1: Twice fastmap size deducted by fastmap and fm_anchor in wait_free_pebs_for_pool()
145 * by fastmap pebs) to fill fm_pool and fm_wl_pool.
149 int fm_used = 0; // fastmap non anchor pebs. in left_free_count()
182 * ubi_refill_pools_and_lock - refills all fastmap PEB pools and takes fm locks.
311 ubi_msg(ubi, "Unable to write a new fastmap: %i", ret); in ubi_wl_get_peb()
360 * We cannot update the fastmap here because this in next_peb_for_wl()
421 /* We cannot update the fastmap here because this in get_peb_for_wl()
[all …]
H A Dubi.h138 * Return codes of the fastmap sub-system
140 * UBI_NO_FASTMAP: No fastmap super block was found
141 * UBI_BAD_FASTMAP: A fastmap was found but it's unusable
225 * struct ubi_fastmap_layout - in-memory fastmap data structure.
226 * @e: PEBs used by the current fastmap
241 * struct ubi_fm_pool - in-memory fastmap pool
248 * If all PEBs within the pool are used a new fastmap will be written
389 * @chk_fastmap: if UBI fastmap extra checks are enabled
402 * @dfs_chk_fastmap: debugfs knob to enable UBI fastmap extra checks
476 * @fm_disabled: non-zero if fastmap is disabled (default)
[all …]
H A Dbuild.c57 * @enable_fm: enable fastmap when value is non-zero
75 /* UBI module parameter to enable fastmap automatically on non-fastmap images */
174 ubi_msg(ubi, "Unable to write a new fastmap: %i", ret); in ubi_volume_notify()
833 * @disable_fm: whether disable fastmap
842 * If @disable_fm is true, ubi doesn't create new fastmap even the module param
843 * 'fm_autoconvert' is set, and existed old fastmap will be destroyed after
969 ubi_err(ubi, "More than %i PEBs are needed for fastmap, sorry.", in ubi_attach_mtd_dev()
974 ubi_msg(ubi, "default fastmap pool size: %d", ubi->fm_pool.max_size); in ubi_attach_mtd_dev()
975 ubi_msg(ubi, "default fastmap WL pool size: %d", in ubi_attach_mtd_dev()
1129 /* If we don't write a new fastmap at detach time we lose all in ubi_detach_mtd_dev()
[all …]
H A Dattach.c284 * add_fastmap - add a Fastmap related physical eraseblock.
291 * physical eraseblock @pnum and adds it to the 'fastmap' list.
292 * Such blocks can be Fastmap super and data blocks from both the most
293 * recent Fastmap we're attaching from or from old Fastmaps which will
307 list_add(&aeb->u.list, &ai->fastmap); in add_fastmap()
309 dbg_bld("add to fastmap list: PEB %d, vol_id %d, sqnum: %llu", pnum, in add_fastmap()
934 * @fast: true if we're scanning for a Fastmap
1066 * Fastmap data structures we find. The most recent Fastmap in scan_peb()
1333 list_for_each_entry_safe(aeb, aeb_tmp, &ai->fastmap, u.list) { in destroy_ai()
1462 INIT_LIST_HEAD(&ai->fastmap); in alloc_ai()
[all …]
H A DMakefile6 ubi-$(CONFIG_MTD_UBI_FASTMAP) += fastmap.o
H A Dwl.c375 * If no fastmap has been written and fm_anchor is not in find_mean_wl_entry()
378 * that fastmap can use the anchor PEB later. in find_mean_wl_entry()
818 * Fastmap.
1885 list_for_each_entry(aeb, &ai->fastmap, u.list) {
1897 * Usually old Fastmap PEBs are scheduled for erasure
1906 * The fastmap update code might not find a free PEB for
1907 * writing the fastmap anchor to and then reuses the
1908 * current fastmap anchor PEB. When this PEB gets erased
1910 * must make sure that the fastmap attach code doesn't
1911 * find any outdated fastmap anchors, hence we erase the
[all …]
H A Deba.c483 * Checks whether a given mapping is valid. Fastmap cannot track LEB unmap
486 * Normaly during the full-scan at attach time this is fixed, for Fastmap
658 * Ending up here in the non-Fastmap case in ubi_eba_read_leb()
661 * With fastmap the story is more complicated. in ubi_eba_read_leb()
662 * Fastmap has the mapping info without the need in ubi_eba_read_leb()
664 * unmapped, Fastmap cannot know this and keeps in ubi_eba_read_leb()
1517 * self_check_eba - run a self check on the EBA table constructed by fastmap.
1519 * @ai_fastmap: UBI attach info object created by fastmap
/linux/net/sched/
H A Dcls_route.c36 struct route4_fastmap fastmap[16]; member
72 memset(head->fastmap, 0, sizeof(head->fastmap)); in route4_reset_fastmap()
82 /* fastmap updates must look atomic to aling id, iff, filter */ in route4_set_fastmap()
84 head->fastmap[h].id = id; in route4_set_fastmap()
85 head->fastmap[h].iif = iif; in route4_set_fastmap()
86 head->fastmap[h].filter = f; in route4_set_fastmap()
147 if (id == head->fastmap[h].id && in route4_classify()
148 iif == head->fastmap[h].iif && in route4_classify()
149 (f = head->fastmap[h].filter) != NULL) { in route4_classify()
337 /* Remove any fastmap lookups that might ref filter in route4_delete()
[all …]
/linux/include/uapi/mtd/
H A Dubi-user.h252 * @disable_fm: whether disable fastmap
289 * If @disable_fm is not zero, ubi doesn't create new fastmap even the module
290 * param 'fm_autoconvert' is set, and existed old fastmap will be destroyed