[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