From: Chao Yu Date: Sun, 8 Apr 2018 03:27:14 +0000 (+0800) Subject: f2fs: fix to show missing bits in FS_IOC_GETFLAGS X-Git-Tag: v4.18-rc1~58^2~59 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=764811581d1cfb5f8b1c33b90ed4bcdb363e930a;p=linux-block.git f2fs: fix to show missing bits in FS_IOC_GETFLAGS This patch fixes to show missing encrypt/inline_data flag in FS_IOC_GETFLAGS like ext4 does. Signed-off-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 74df80ae1728..97bb4af8d8d6 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -1584,8 +1584,15 @@ static int f2fs_ioc_getflags(struct file *filp, unsigned long arg) { struct inode *inode = file_inode(filp); struct f2fs_inode_info *fi = F2FS_I(inode); - unsigned int flags = fi->i_flags & - (F2FS_FL_USER_VISIBLE | F2FS_PROJINHERIT_FL); + unsigned int flags = fi->i_flags; + + if (file_is_encrypt(inode)) + flags |= F2FS_ENCRYPT_FL; + if (f2fs_has_inline_data(inode) || f2fs_has_inline_dentry(inode)) + flags |= F2FS_INLINE_DATA_FL; + + flags &= F2FS_FL_USER_VISIBLE; + return put_user(flags, (int __user *)arg); }