回复: [PATCH 2/2] f2fs: only set project inherit bit for directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chao,

 I just sent a V2, but I think we'd better do that when reading inode, for two reasons:

1) not only F2FS_IOC_GETFLAGS need filter flags but also F2FS_IOC_FSGETXATTR need that, so the amended parts is not enough IMO.

2) doing that by reading inode give a benefit that we could correct on disk flags for regular file next dirtying inode happen.

________________________________________
发件人: Chao Yu <yuchao0@xxxxxxxxxx>
发送时间: 2019年6月13日 14:36
收件人: Wang Shilong; linux-ext4@xxxxxxxxxxxxxxx; linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
抄送: Wang Shilong; Andreas Dilger
主题: Re: [PATCH 2/2] f2fs: only set project inherit bit for directory

On 2019/6/6 12:32, Wang Shilong wrote:
> From: Wang Shilong <wshilong@xxxxxxx>
>
> It doesn't make any sense to have project inherit bits
> for regular files, even though this won't cause any
> problem, but it is better fix this.
>
> Cc: Andreas Dilger <adilger@xxxxxxxxx>
> Signed-off-by: Wang Shilong <wshilong@xxxxxxx>
> ---
>  fs/f2fs/f2fs.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
> index 06b89a9862ab..f02ebecb68ea 100644
> --- a/fs/f2fs/f2fs.h
> +++ b/fs/f2fs/f2fs.h
> @@ -2370,7 +2370,8 @@ static inline void f2fs_change_bit(unsigned int nr, char *addr)
>                          F2FS_PROJINHERIT_FL)
>
>  /* Flags that are appropriate for regular files (all but dir-specific ones). */
> -#define F2FS_REG_FLMASK              (~(F2FS_DIRSYNC_FL | F2FS_TOPDIR_FL))
> +#define F2FS_REG_FLMASK      (~(F2FS_DIRSYNC_FL | F2FS_TOPDIR_FL |\
> +                                F2FS_PROJINHERIT_FL))

Hi Shilong,

Could you please add below diff as ext4 did?

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index efdafa886510..295ca5ed42d9 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -1759,6 +1759,9 @@ static int f2fs_ioc_getflags(struct file *filp, unsigned
long arg)

        fsflags &= F2FS_GETTABLE_FS_FL;

+       if (S_ISREG(inode->i_mode))
+               fsflags &= ~FS_PROJINHERIT_FL;
+
        return put_user(fsflags, (int __user *)arg);
 }

Thanks,

>
>  /* Flags that are appropriate for non-directories/regular files. */
>  #define F2FS_OTHER_FLMASK    (F2FS_NODUMP_FL | F2FS_NOATIME_FL)
>




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux