Theodore Ts'o <[email protected]> writes: > On Fri, Nov 28, 2014 at 06:02:02PM +0300, Dmitry Monakhov wrote: >> FYI: inline_data feature is fatally broken > > Thanks for finding the bugs! > >> 2) ext4_inline_data_fiemap(0 ignores start and len arguments from >> ext4_filemap() >> which obviously result in endless loop for anyone who want to use >> fiemap for inline files (which my patch try to do) > > Would this have been triggered using filefrag? I just checked and > noticed we don't have a filefrag test in xfstests; of course it would > be impossible to test other than the filefrag -v command successfully > completed, but maybe it might be worth adding such a test. This works only because filefrag use big buffer. If one want to call fiemap with start != 0 it will loop. So we definitely need a regression test for fiemap. I'll do it.
BTW bug can be spotted even in case of filefrag -v:
#### Create small file with inlined data
# echo test > /mnt/f1
#### Now boost it's i_size
# truncate --size 4096000 /mnt/f1
# filefrag -v /mnt/f1
Filesystem cylinder groups approximately 39
File size of /mnt/f1 is 4096000 (1000 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected:
flags:
0: 0.. 4095999: 2762792.. 6858791:
4096000:last,not_aligned,inline,eof
/mnt/f1: 1 extent found
###According to fiemap we are inlined 4Mb data. :)
At this moment I'm testing my patches, I'll send it today.
>
> - Ted
signature.asc
Description: PGP signature

