summaryrefslogtreecommitdiffstats
path: root/fs/ubifs/sb.c
diff options
context:
space:
mode:
authorDmitry Monakhov2014-12-03 00:08:53 +0100
committerTheodore Ts'o2014-12-03 00:08:53 +0100
commit14516bb7bb6ffbd49f35389f9ece3b2045ba5815 (patch)
tree23cbe197595d9dc8534dd1dbab7e1237fbb74226 /fs/ubifs/sb.c
parentext4: ext4_inline_data_fiemap should respect callers argument (diff)
downloadkernel-qcow2-linux-14516bb7bb6ffbd49f35389f9ece3b2045ba5815.tar.gz
kernel-qcow2-linux-14516bb7bb6ffbd49f35389f9ece3b2045ba5815.tar.xz
kernel-qcow2-linux-14516bb7bb6ffbd49f35389f9ece3b2045ba5815.zip
ext4: fix suboptimal seek_{data,hole} extents traversial
It is ridiculous practice to scan inode block by block, this technique applicable only for old indirect files. This takes significant 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 Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ubifs/sb.c')
0 files changed, 0 insertions, 0 deletions