On 08/21/2015 03:56 AM, Hans de Goede wrote:
Hi,

On 20-08-15 21:53, Stephen Warren wrote:


 > On 20-08-15 18:04, Hans de Goede wrote:
ubifs does not go though the generic block layer because mtd devices
are special, so the "any" filesystem option to sysboot does not work,
this adds support for a "ubifs" filesystem to the sysboot command which
makes it possible to boot from ubifs using an extlinux.conf file.
 >
 > Why are they special? Surely ubifs support can be integrated into the
 > filesystem layer, thus removing the need for patches 1 and 3 in this
series?

I looked into that before going that root, the problem is that the
filesystem layer assumes that files sit on top of block devices,
and all the filesystem layer code operates on block_dev_desc_t devices.

But ubifs operates on ubi volumes which in turn operate on raw nand,
this has vastly different characteristics then regular block devices.

ubifs deals with erase-blocks, finding or creating a free
erase block when it needs to write stuff, then erasing an entire
block and writing part of it a page-size at a time where
erase-block-size != page-size, and both are typically of values
much larger then disk sector-sizes. There is no notion of erase
blocks in the fs / block layer.

Can't the filesystem layer simply be taught how to look up block devices for most filesystems, but look up volumes for other filesystems? I still see no fundamental reason we can't abstract this so higher level SW doesn't have to have special cases.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to