diff options
author | Stefan Brüns <stefan.bruens@rwth-aachen.de> | 2016-09-06 04:36:49 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-09-23 09:02:40 -0400 |
commit | a9fa0ed183b7e156db0c711f2aad8d573fae3498 (patch) | |
tree | 93def6d5da4b84f64ade6839732fdd134bf94d76 /Kbuild | |
parent | e927265225bf298d25b312758718cbc31510b175 (diff) |
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>
Diffstat (limited to 'Kbuild')
0 files changed, 0 insertions, 0 deletions