lkml.org 
[lkml]   [2023]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [f2fs-dev][PATCH] f2fs: not allowed to set file both cold and hot
From
On 2023/6/20 10:42, 何云蕾(Yunlei he) wrote:
>
> On 2023/6/20 8:33, Chao Yu wrote:
>> On 2023/6/13 16:52, Yunlei He wrote:
>>> File set both cold and hot advise bit is confusion, so
>>> return EINVAL to avoid this case.
>>>
>>> Signed-off-by: Yunlei He <heyunlei@oppo.com>
>>> ---
>>>   fs/f2fs/xattr.c | 3 +++
>>>   1 file changed, 3 insertions(+)
>>>
>>> diff --git a/fs/f2fs/xattr.c b/fs/f2fs/xattr.c
>>> index 213805d3592c..917f3ac9f1a1 100644
>>> --- a/fs/f2fs/xattr.c
>>> +++ b/fs/f2fs/xattr.c
>>> @@ -127,6 +127,9 @@ static int f2fs_xattr_advise_set(const struct xattr_handler *handler,
>>>                  return -EINVAL;
>>>
>>>          new_advise = new_advise & FADVISE_MODIFIABLE_BITS;
>>> +       if ((new_advise & FADVISE_COLD_BIT) && (new_advise & FADVISE_HOT_BIT))
>>> +               return -EINVAL;
>>
>> Yunlei,
>>
>> What about the below case:
>>
>> 1. f2fs_xattr_advise_set(FADVISE_COLD_BIT)
>> 2. f2fs_xattr_advise_set(FADVISE_HOT_BIT)
>
> Hi,  Chao,
>
>     I test this case work well with this patch,  case below will return -EINVAL:
>
>     f2fs_xattr_advise_set(FADVISE_COLD_BIT | FADVISE_HOT_BIT)

Correct, I missed to check below statement.

new_advise |= old_advise & ~FADVISE_MODIFIABLE_BITS;

Anyway, the patch looks good to me.

Reviewed-by: Chao Yu <chao@kernel.org>

Thanks,

\
 
 \ /
  Last update: 2023-06-20 09:57    [W:0.058 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site