u-boot/fs/ext4
Stefan Brüns a9fa0ed183 ext4: After completely filled group, scan next group from the beginning
The last free block of a block group may be in its middle. After it has
been allocated, the next block group should be scanned from its beginning.

The following command triggers the bad behaviour (on a blocksize 1024 fs):

./sandbox/u-boot -c 'i=0; host bind 0 ./disk.raw ;
	while test $i -lt 260 ; do echo $i; setexpr i $i + 1;
		ext4write host 0:2 0 /X${i} 0x1450; done ;
	ext4write host 0:2 0 /X240 0x2000 ; '

When 'X240' is extended from 5200 byte to 8192 byte, the new blocks should
start from the first free block (8811), but it uses the blocks 8098-8103
and 16296-16297 -- 8103 + 1 + 8192 = 16296. This can be shown with
debugfs, commands 'ffb' and 'stat X240'.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
2016-09-23 09:02:40 -04:00
..
crc16.c ext4fs write support 2012-08-09 23:48:02 +02:00
crc16.h ext4fs write support 2012-08-09 23:48:02 +02:00
dev.c dm: block: Adjust device calls to go through helpers function 2016-03-14 15:34:50 -06:00
ext4_common.c ext4: After completely filled group, scan next group from the beginning 2016-09-23 09:02:40 -04:00
ext4_common.h ext4: propagate error if creation of directory entry fails 2016-09-23 09:02:35 -04:00
ext4_journal.c ext4: fix endianess problems in ext4 write support 2016-09-23 09:02:04 -04:00
ext4_journal.h ext4: fix endianess problems in ext4 write support 2016-09-23 09:02:04 -04:00
ext4_write.c ext4: Avoid corruption of directories with hash tree indexes 2016-09-23 09:02:37 -04:00
ext4fs.c ext4: use kernel names for byte swaps 2016-09-23 09:02:02 -04:00
Kconfig kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
Makefile fs: descend into sub directories when it is necessary 2013-11-17 14:11:34 -05:00