linux/include
Artem Bityutskiy 4ccf8cffa9 UBI: add auto-resize feature
The problem: NAND flashes have different amount of initial bad physical
eraseblocks (marked as bad by the manufacturer). For example, for 256MiB
Samsung OneNAND flash there might be from 0 to 40 bad initial eraseblocks,
which is about 2%. When UBI is used as the base system, one needs to know
the exact amount of good physical eraseblocks, because this number is
needed to create the UBI image which is put to the devices during
production. But this number is not know, which forces us to use the
minimum number of good physical eraseblocks. And UBI additionally
reserves some percentage of physical eraseblocks for bad block handling
(default is 1%), so we have 1-3% of PEBs reserved at the end, depending
on the amount of initial bad PEBs. But it is desired to always have
1% (or more, depending on the configuration).

Solution: this patch adds an "auto-resize" flag to the volume table.
The volume which has the "auto-resize" flag will automatically be re-sized
(enlarged) on the first UBI initialization. UBI clears the flag when
the volume is re-sized. Only one volume may have the "auto-resize" flag.

So, the production UBI image may have one volume with "auto-resize"
flag set, and its size is automatically adjusted on the first boot
of the device.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2008-01-25 16:41:24 +02:00
..
acpi Intel IOMMU: DMAR detection and parsing logic 2007-10-22 08:13:18 -07:00
asm-alpha Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-arm arm: sg fallout 2007-10-23 12:37:59 +02:00
asm-arm26
asm-avr32 AVR32: Fix sg_page breakage 2007-10-24 10:16:02 +02:00
asm-blackfin blackfin: remove sg_address() 2007-10-23 12:42:44 +02:00
asm-cris Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-frv SG: Change sg_set_page() to take length and offset argument 2007-10-24 11:20:47 +02:00
asm-generic
asm-h8300 Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-ia64 Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-m32r Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-m68k Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-m68knommu m68knommu: remove unused machdep variable definitions 2007-10-23 20:45:44 -07:00
asm-mips Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2007-10-22 19:21:08 -07:00
asm-parisc parisc: fix sg_page() fallout 2007-10-23 09:49:31 +02:00
asm-powerpc powerpc: Fix fallout from sg_page() changes 2007-10-23 09:13:14 +02:00
asm-ppc ppc: fix AT_VECTOR_SIZE on arch/ppc 2007-10-22 19:18:54 -07:00
asm-s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2007-10-22 19:23:34 -07:00
asm-sh sh/sh64: fixup dma-mapping for new sg layout 2007-10-23 12:52:48 +02:00
asm-sh64 sh/sh64: fixup dma-mapping for new sg layout 2007-10-23 12:52:48 +02:00
asm-sparc [SPARC32]: __inline__ --> inline 2007-10-27 00:17:01 -07:00
asm-sparc64 [SPARC64]: Fix BACKOFF_SPIN on non-SMP. 2007-10-27 00:23:22 -07:00
asm-um
asm-v850 Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-x86 Revert "i386: export i386 smp_call_function_mask() to modules" 2007-10-27 20:57:43 +02:00
asm-xtensa xtensa: dma-mapping.h is using linux/scatterlist.h functions, so include it 2007-10-24 13:28:40 +02:00
crypto
keys
linux [MTD] [NOR] Fix incorrect interface code for x16/x32 chips 2008-01-10 22:07:12 +00:00
math-emu
media [PATCH] Fix breakage after SG cleanups 2007-10-23 12:02:39 -07:00
mtd UBI: add auto-resize feature 2008-01-25 16:41:24 +02:00
net [NET]: Marking struct pernet_operations __net_initdata was inappropriate 2007-10-26 22:54:53 -07:00
pcmcia
rdma
rxrpc
scsi
sound [ALSA] version 1.0.15 2007-10-23 08:09:20 +02:00
video Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
xen
Kbuild