Zheng Liu c8c0df241c ext4: introduce lseek SEEK_DATA/SEEK_HOLE support
This patch makes ext4 really support SEEK_DATA/SEEK_HOLE flags.  Block-mapped
and extent-mapped files are fully implemented together because ext4_map_blocks
hides this differences.

After applying this patch, it will cause a failure in xfstest #285 when the file
is block-mapped due to block-mapped file isn't support fallocate(2).

I had tried to use ext4_ext_walk_space() to retrieve the offset for a
extent-mapped file.  But finally I decide to keep using ext4_map_blocks() to
support SEEK_DATA/SEEK_HOLE because ext4_map_blocks() can hide the difference
between block-mapped file and extent-mapped file.  Moreover, in next step,
extent status tree will track all extent status, and we can get all mappings
from this tree.  So I think that using ext4_map_blocks() is a better choice.

CC: Hugh Dickins <hughd@google.com>
Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2012-11-08 21:57:40 -05:00
..
2012-07-14 16:38:34 +04:00
2012-10-09 23:33:38 -04:00
2012-10-09 16:22:17 +09:00
2012-10-09 23:33:38 -04:00
2012-10-09 15:04:25 +01:00
2012-10-17 09:18:38 -05:00
2012-10-09 18:35:22 -04:00
2012-10-09 16:22:17 +09:00
2012-10-09 16:22:17 +09:00
2012-10-06 03:05:31 +09:00
2012-07-14 16:34:47 +04:00
2012-10-09 23:33:39 -04:00
2012-10-09 16:22:17 +09:00
2012-10-09 23:33:39 -04:00
2012-09-07 14:57:46 -04:00
2012-07-14 16:34:47 +04:00
2012-10-22 08:50:37 +03:00
2012-10-16 13:36:50 -04:00
2012-10-09 15:52:31 +09:00
2012-07-14 16:32:47 +04:00
2012-10-09 18:35:22 -04:00
2012-07-14 16:32:48 +04:00
2012-09-26 21:08:52 -04:00
2012-10-09 23:33:39 -04:00