diff options
author | Tao Ma <boyu.mt@taobao.com> | 2013-04-20 01:55:33 +0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-04-20 01:55:33 +0400 |
commit | c4d8b0235aa98f8c26bf94d308be3fdd24154572 (patch) | |
tree | 9499f186e1e65df32a822d19cdcd92addb33e4a6 /fs/ext4/ialloc.c | |
parent | 8af0f08227977079f8f227e74d27c59db2ab84f6 (diff) | |
download | linux-c4d8b0235aa98f8c26bf94d308be3fdd24154572.tar.xz |
ext4: fix readdir error in case inline_data+^dir_index.
Zach reported a problem that if inline data is enabled, we don't
tell the difference between the offset of '.' and '..'. And a
getdents will fail if the user only want to get '.'. And what's
worse, we may meet with duplicate dir entries as the offset
for inline dir and non-inline one is quite different.
This patch just try to resolve this problem if dir_index
is disabled. In this case, f_pos is the real offset with
the dir block, so for inline dir, we just pretend as if
we are a dir block and returns the offset like a norml
dir block does.
Reported-by: Zach Brown <zab@redhat.com>
Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ialloc.c')
0 files changed, 0 insertions, 0 deletions