Searched hist:de9e831675d72c08c2cc3361a8e9b413ff3facec (Results 1 – 2 of 2) sorted by relevance
| /rk3399_rockchip-uboot/fs/ext4/ |
| H A D | ext4_write.c | de9e831675d72c08c2cc3361a8e9b413ff3facec Tue Sep 06 02:36:55 UTC 2016 Stefan Brüns <stefan.bruens@rwth-aachen.de> ext4: Correct block number handling, empty block vs. error code
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>
|
| H A D | ext4_common.c | de9e831675d72c08c2cc3361a8e9b413ff3facec Tue Sep 06 02:36:55 UTC 2016 Stefan Brüns <stefan.bruens@rwth-aachen.de> ext4: Correct block number handling, empty block vs. error code
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>
|