On 2019-7-24 7:05, Daniel Rosenberg via Linux-f2fs-devel wrote:
> /* Flags that are appropriate for regular files (all but dir-specific ones).
> */
> #define F2FS_REG_FLMASK (~(F2FS_DIRSYNC_FL |
> F2FS_PROJINHERIT_FL))
We missed to add F2FS_CASEFOLD_FL here to exclude it in F2FS_REG_FLMASK.
> @@ -1660,7 +1660,16 @@ static int f2fs_setflags_common(struct inode *inode,
> u32 iflags, u32 mask)
> return -EPERM;
>
> oldflags = fi->i_flags;
> + if ((iflags ^ oldflags) & F2FS_CASEFOLD_FL) {
> + if (!f2fs_sb_has_casefold(F2FS_I_SB(inode)))
> + return -EOPNOTSUPP;
> +
> + if (!S_ISDIR(inode->i_mode))
> + return -ENOTDIR;
>
> + if (!f2fs_empty_dir(inode))
> + return -ENOTEMPTY;
> + }
I applied the patches based on last Jaegeuk's dev branch, it seems we needs to
adjust above code a bit. Otherwise it looks good to me.
BTW, it looks the patchset works fine with generic/556 testcase.
Thanks,