[RFC v6] UBI: Fastmap support (aka checkpointing)

Richard Weinberger richard at nod.at
Mon May 21 10:01:55 EDT 2012


v1: https://lwn.net/Articles/481612/
v2: https://lwn.net/Articles/496586/
v3: Didn't release it to linux-mtd
v4: http://article.gmane.org/gmane.linux.kernel/1297626
v5: http://article.gmane.org/gmane.linux.kernel/1298488

Changes since v1:
       - renamed it to UBIVIS (at least in Kconfig)
       - UBIVIS parameters are now configurable via Kconfig
       - several bugs have been fixed (design and implementation bugs)
       - added lots of comments to make the review process easier
       - made checkpatch.pl happy

Changes since v2:
       - minor bugs have been fixed
       - renamed it to UBI fastmap (as Artem requested)

Changes since v3:
       - changed the on-flash layout (added padding fields, turned the
         EBA storage into an array)
       - fixed some corner cases (the protection queue needed some extra work)
       - removed the data type hint logic
       - rebased to Artems mtd tree

Changes since v4:
       - fixed static volume handling (used_ebs and last_data_bytes contained
         bad values in some cases)

Changes since v5:
       - merged it into a single patch
       - rebased to Artems mtd tree (addressed all renames)
       - fixed issues pointed out by Artem
       - redefined fastmap parameters

The fastmap super block has to be located within the first 64 PEBs.
A fastmap can use up to 32 PEBs.
The fastmap pool (the number of to be scanned PEBs while attaching)
is now derived from the flash size.
The current formular is Np = max(min(5% of total PEBs, 256), 8)
Comments/better ideas?

For now a fastmap contains only used and free PEBs.
Shall we also take care about bad PEBs?
What about bad_peb_count corr_peb_count?

git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubi2.git ubi2/v6

[PATCH] [RFC] UBI: Implement Fastmap support



More information about the linux-mtd mailing list