f2fs: update i_flags correctly
authorChao Yu <yuchao0@huawei.com>
Wed, 30 Aug 2017 10:04:47 +0000 (18:04 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 5 Sep 2017 17:50:21 +0000 (10:50 -0700)
f2fs enables hash-indexed directory by default, so we need to tag
FS_INDEX_FL in inode::i_flags during directory creataion, in order
to show correct status of inode in lsattr:

Before:
------------------- /mnt/f2fs/dir/
After:
-----------I------- /mnt/f2fs/dir/

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/namei.c

index e241c1b2c636dd9f1a4f38da65c34ced1b22cccd..a4dab98c4b7ba7c2d2b69086e5b439c36d323382 100644 (file)
@@ -100,6 +100,9 @@ static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode)
        F2FS_I(inode)->i_flags =
                f2fs_mask_flags(mode, F2FS_I(dir)->i_flags & F2FS_FL_INHERITED);
 
+       if (S_ISDIR(inode->i_mode))
+               F2FS_I(inode)->i_flags |= FS_INDEX_FL;
+
        if (F2FS_I(inode)->i_flags & FS_PROJINHERIT_FL)
                set_inode_flag(inode, FI_PROJ_INHERIT);