Re: [f2fs-dev] [PATCH v4 3/3] f2fs: Support case-insensitive file name lookups
From: Chao Yu <chao@kernel.org>
Date: 2019-07-29 14:57:32
Also in:
linux-doc, linux-f2fs-devel, linux-fsdevel, lkml
On 2019-7-29 15:22, Chao Yu wrote:
On 2019/7/29 14:27, Jaegeuk Kim wrote:quoted
On 07/28, Chao Yu wrote:quoted
On 2019-7-24 7:05, Daniel Rosenberg via Linux-f2fs-devel wrote:quoted
/* 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.quoted
quoted
@@ -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 <redacted>
It can pass generic/556 as well. Thanks,
Thanks,quoted
Thanks,quoted
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,.