[U-Boot] [U-Boot, v5, 15/16] ext4: Correct block number handling, empty block vs. error code
Tom Rini
trini at konsulko.com
Fri Sep 23 21:57:47 CEST 2016
On Tue, Sep 06, 2016 at 04:36:55AM +0200, Stefan Brüns wrote:
> read_allocated block may return block number 0, which is just an indicator
> a chunk of the file is not backed by a block, i.e. it is sparse.
>
> During file deletions, just continue with the next logical block, for other
> operations treat blocknumber <= 0 as an error.
>
> For writes, blocknumber 0 should never happen, as U-Boot always allocates
> blocks for the whole file. Reading already handles this correctly, i.e. the
> read buffer is 0-fillled.
>
> Not treating block 0 as sparse block leads to FS corruption, e.g.
> ./sandbox/u-boot -c 'host bind 0 ./sandbox/test/fs/3GB.ext4.img ;
> ext4write host 0 0 /2.5GB.file 1 '
> The 2.5GB.file from the fs test is actually a sparse file.
>
> Signed-off-by: Stefan Brüns <stefan.bruens at rwth-aachen.de>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160923/6ee2ea98/attachment.sig>
More information about the U-Boot
mailing list