Theodore Ts'o <tytso@xxxxxxx> writes: > On Fri, Oct 17, 2014 at 05:25:34PM +0400, Dmitry Monakhov wrote: >> It is rediculus practice to scan inode block by block, this technique >> applicable only for old indirect files. This takes signifficant amount >> of time for really large files. Let's reuse ext4_fiemap which already >> traverse inode-tree in most optimal meaner. >> >> TESTCASE: >> ftruncate64(fd, 0); >> ftruncate64(fd, 1ULL << 40); >> /* lseek will spin very long time */ >> lseek64(fd, 0, SEEK_DATA); >> lseek64(fd, 0, SEEK_HOLE); >> >> >> Original report: https://lkml.org/lkml/2014/10/16/620 >> >> ################################## >> BTW: Why do we need i_mutex here? >> >> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> > > Note: this patch causes generic/285 to loop forever in inline-data > mode. My guess is in the special case handling of inline data in > ext4_fiemap not playing well with this change, but I haven't had a > chance to look deeply into this yet. Correct, it is appeared I've missed inline case. Will fix. BTW: this happens because xfstests-bld contains obsolete e2fsprogs-lib 1.41.14 > > - Ted
Attachment:
signature.asc
Description: PGP signature