linux/drivers/mtd
Ezequiel Garcia 9d54c8a33e UBI: R/O block driver on top of UBI volumes
This commit introduces read-only block device emulation on top of UBI volumes.

Given UBI takes care of wear leveling and bad block management it's possible
to add a thin layer to enable block device access to UBI volumes.
This allows to use a block-oriented filesystem on a flash device.

The UBI block devices are meant to be used in conjunction with any
regular, block-oriented file system (e.g. ext4), although it's primarily
targeted at read-only file systems, such as squashfs.

Block devices are created upon user request through new ioctls:
UBI_IOCVOLATTBLK to attach and UBI_IOCVOLDETBLK to detach.
Also, a new UBI module parameter is added 'ubi.block'. This parameter is
needed in order to attach a block device on boot-up time, allowing to
mount the rootfs on a ubiblock device.
For instance, you could have these kernel parameters:

  ubi.mtd=5 ubi.block=0,0 root=/dev/ubiblock0_0

Or, if you compile ubi as a module:

  $ modprobe ubi mtd=/dev/mtd5 block=/dev/ubi0_0

Artem: amend commentaries and massage the patch a little bit.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2014-02-28 16:29:48 +02:00
..
chips mtd: jedec_probe: fix LH28F640BF definition 2013-08-05 21:04:17 +01:00
devices mtd: m25p80: Set rx_nbits for Quad SPI transfers 2014-01-27 21:19:28 -08:00
lpddr mtd: lpddr: Mark functions as static and remove unused function 2014-01-03 11:22:26 -08:00
maps MTD updates for 3.14: 2014-01-28 18:56:37 -08:00
nand Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-01-30 17:07:18 -08:00
onenand mtd: onenand: Trivial cleanup in samsung.h 2014-01-11 12:00:25 -08:00
tests mtd: tests: mtd_nandecctest: Use IS_ENABLED() macro 2014-01-03 11:22:21 -08:00
ubi UBI: R/O block driver on top of UBI volumes 2014-02-28 16:29:48 +02:00
afs.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
ar7part.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
bcm47xxpart.c mtd: bcm47xxpart: alternative MAGIC for board_data partition 2014-01-07 10:07:37 -08:00
bcm63xxpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
cmdlinepart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
ftl.c
inftlcore.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00
inftlmount.c
Kconfig mtd: Hide CONFIG_MTD_BLKDEVS from the menu 2014-01-07 10:07:36 -08:00
Makefile mtd: merge mtdchar module with mtdcore 2013-04-05 13:16:54 +01:00
mtd_blkdevs.c block_device_operations->release() should return void 2013-05-07 02:16:21 -04:00
mtdblock_ro.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdblock.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdchar.c mtd: mtdchar: return expected errors on mmap() call 2013-11-11 11:18:15 -08:00
mtdconcat.c mtd: unify initialization of erase_info->fail_addr 2012-03-27 01:02:24 +01:00
mtdcore.c mtd: convert to use ATTRIBUTE_GROUPS 2014-01-03 11:22:21 -08:00
mtdcore.h mtd: merge mtdchar module with mtdcore 2013-04-05 13:16:54 +01:00
mtdoops.c mtdoops: don't erase flash at each boot 2012-11-15 15:37:51 +02:00
mtdpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
mtdsuper.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdswap.c mtd: mtdswap: replace strict_strtoul() with kstrtoul() 2013-08-30 21:52:51 +01:00
nftlcore.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00
nftlmount.c
ofpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
redboot.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
rfd_ftl.c
sm_ftl.c mtd: sm_ftl: Staticize local symbols 2013-08-30 21:51:25 +01:00
sm_ftl.h
ssfdc.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00