On 2019/7/29 14:27, Jaegeuk Kim wrote: > On 07/28, Chao Yu wrote: >> 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. > > Applied. > >> >>> @@ -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; >>> + } > > Modified like this: > @@ -1665,6 +1665,13 @@ static int f2fs_setflags_common(struct inode *inode, u32 iflags, u32 mask) > if (IS_NOQUOTA(inode)) > return -EPERM; > > + if ((iflags ^ fi->i_flags) & F2FS_CASEFOLD_FL) { > + if (!f2fs_sb_has_casefold(F2FS_I_SB(inode))) > + return -EOPNOTSUPP; > + if (!f2fs_empty_dir(inode)) > + return -ENOTEMPTY; > + } > + > > Note that, directory is checked by above change. > > I've uploaded in f2fs.git, so could you check it out and test a bit? I've checked it out, it looks good to me now, and later I will test this new version. Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx> Thanks, > > Thanks, > >> >> 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, > . >