On 2019-7-29 15:22, Chao Yu wrote:
> 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 <[email protected]>
It can pass generic/556 as well.
Thanks,
>
> 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,
>> .
>>