de9e831675
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@rwth-aachen.de> |
||
---|---|---|
.. | ||
crc16.c | ||
crc16.h | ||
dev.c | ||
ext4_common.c | ||
ext4_common.h | ||
ext4_journal.c | ||
ext4_journal.h | ||
ext4_write.c | ||
ext4fs.c | ||
Kconfig | ||
Makefile |