Re: [f2fs-dev] [PATCH v4 3/3] f2fs: Support case-insensitive file name lookups

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

 



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,
> .
> 



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux