diff options
author | Chao Yu <yuchao0@huawei.com> | 2019-03-05 12:32:26 +0100 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2019-03-13 03:02:26 +0100 |
commit | 2c28aba8b2e2a51749fa66e01b68e1cd5b53e022 (patch) | |
tree | 618e6bebbaf4daaae08c21f26fbae247461100ef /fs/f2fs/inline.c | |
parent | f2fs: fix to do sanity check with inode.i_inline_xattr_size (diff) | |
download | linux-2c28aba8b2e2a51749fa66e01b68e1cd5b53e022.tar.xz linux-2c28aba8b2e2a51749fa66e01b68e1cd5b53e022.zip |
f2fs: fix to adapt small inline xattr space in __find_inline_xattr()
With below testcase, we will fail to find existed xattr entry:
1. mkfs.f2fs -O extra_attr -O flexible_inline_xattr /dev/zram0
2. mount -t f2fs -o inline_xattr_size=1 /dev/zram0 /mnt/f2fs/
3. touch /mnt/f2fs/file
4. setfattr -n "user.name" -v 0 /mnt/f2fs/file
5. getfattr -n "user.name" /mnt/f2fs/file
/mnt/f2fs/file: user.name: No such attribute
The reason is for inode which has very small inline xattr size,
__find_inline_xattr() will fail to traverse any entry due to first
entry may not be loaded from xattr node yet, later, we may skip to
check entire xattr datas in __find_xattr(), result in such wrong
condition.
This patch adds condition to check such case to avoid this issue.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/inline.c')
0 files changed, 0 insertions, 0 deletions