[GIT PULL] UBI fastmap for 3.7-rc1

From: Artem Bityutskiy
Date: Mon Oct 08 2012 - 07:16:58 EST


Hi Linus,

here is the second UBI pull request which contains a big new
experimental feature. Please, pull with my apologies that it was exposed
to linux-next for shorter time than I usually do. Details are in the
signed tag.

Thanks!

The following changes since commit 55393ba1bdedc5ded79b34b4cc08898a7776cddb:

UBI: fix trivial typo 'it' => 'is' (2012-09-26 13:22:50 +0300)

are available in the git repository at:

git://git.infradead.org/linux-ubi.git tags/upstream-3.7-rc1-fastmap

for you to fetch changes up to 76ac66e469f084d41742ba08923de76fbdc7dce3:

UBI: Wire-up fastmap (2012-10-03 16:39:37 +0300)

----------------------------------------------------------------
This pull request contains the UBI fastmap support implemented by Richard
Weinberger from Linutronix. Fastmap is designed to address UBI's slow scanning
issues. Namely, it introduces a new on-flash data-structure called "fastmap",
which stores the information about logical<->physical eraseblocks mappings.
So now to get this information just read the fastmap, instead of doing full
scan. More information here can be found in Richard's announcement in LKML
(Subject: UBI: Fastmap request for inclusion (v19)):

http://thread.gmane.org/gmane.linux.kernel/1364922/focus=1369109

One thing I want to explicitly say is that fastmap did not have large
enough linux-next exposure. It is partially my fault - I did not respond
quickly enough. I _really_ apologize for this. But it had good testing and
disabled by default, so I do not expect that we'll break anything.

Fastmap is declared as experimental so far, and it is off by default. We
did declare that the on-flash format may be changed. The reason for this is
that no one used it in real production so far, so there is a high risk that
something is missing. Besides, we do not have user-space tools supporting
fastmap so far.

Nevertheless, I suggest we merge this feature. Many people want UBI's scanning
bottleneck to be fixed and merging fastmap now should accelerate its production
use. The plan is to make it bullet-prove, somewhat clean-up, and make it the
default for UBI. I do not know how many kernel releases will it take.

Basically, I what I want to do for fastmap is something like Linus did for
btrfs few years ago.

----------------------------------------------------------------
Richard Weinberger (10):
UBI: Add fastmap on-flash data structures
UBI: Add fastmap stuff to ubi.h
UBI: Export next_sqnum()
UBI: Add self_check_eba()
UBI: Add fastmap bits to build.c
UBI: Wire-up ->fm_sem
UBI: Add fastmap stuff to attach.c
UBI: Add fastmap support to the WL sub-system
UBI: Add fastmap core
UBI: Wire-up fastmap

MAINTAINERS | 6 +
drivers/mtd/ubi/Kconfig | 21 +++
drivers/mtd/ubi/Makefile | 1 +
drivers/mtd/ubi/attach.c | 386 ++++++++++++++++++++++++++++++++----------------
drivers/mtd/ubi/build.c | 70 ++++++++-
drivers/mtd/ubi/eba.c | 126 ++++++++++++++--
drivers/mtd/ubi/fastmap.c | 1537 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/mtd/ubi/ubi-media.h | 137 +++++++++++++++++
drivers/mtd/ubi/ubi.h | 118 ++++++++++++++-
drivers/mtd/ubi/wl.c | 599 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
10 files changed, 2790 insertions(+), 211 deletions(-)
create mode 100644 drivers/mtd/ubi/fastmap.c

--
Best Regards,
Artem Bityutskiy

Attachment: signature.asc
Description: This is a digitally signed message part