]> git.baikalelectronics.ru Git - uboot.git/commit
Merge branch '2023-04-05-blkmap-composable-virtual-block-devices'
authorTom Rini <trini@konsulko.com>
Wed, 5 Apr 2023 22:59:47 +0000 (18:59 -0400)
committerTom Rini <trini@konsulko.com>
Wed, 5 Apr 2023 22:59:47 +0000 (18:59 -0400)
commit2ab8a01a5f7c24ff2fe8cfa3d7266c25bf5ea1ae
tree03133e406371e92ce12b03b50c61a82637eea827
parent0994f3a7941389c298f419cc5b01e4845132fefe
parent36bfffa6f5e65f55005a5ffb4af6140c8d693485
Merge branch '2023-04-05-blkmap-composable-virtual-block-devices'

To quote the author:
Block maps are a way of looking at various sources of data through the
lens of a regular block device. It lets you treat devices that are not
block devices, like RAM, as if they were. It also lets you export a
slice of an existing block device, which does not have to correspond to
a partition boundary, as a new block device.

This is primarily useful because U-Boot's filesystem drivers only
operate on block devices, so a block map lets you access filesystems
wherever they might be located.

The implementation is loosely modeled on Linux's "Device Mapper"
subsystem, see the kernel documentation [1] for more information.

The primary use-cases are to access filesystem images stored in RAM, and
within FIT images stored on disk. See doc/usage/blkmap.rst for more
details.

The architecture is pluggable, so adding other types of mappings should
be quite easy.

[1]: https://docs.kernel.org/admin-guide/device-mapper/index.html