• Tao Ma's avatar
    ext4: fix readdir error in case inline_data+^dir_index. · c4d8b023
    Tao Ma authored
    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: default avatarZach Brown <zab@redhat.com>
    Signed-off-by: default avatarTao Ma <boyu.mt@taobao.com>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    c4d8b023
inline.c 49 KB