lkml.org 
[lkml]   [2023]   [Jun]   [19]   [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 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)

Thanks,

>
> Thanks,
>
>> +
>>          new_advise |= old_advise & ~FADVISE_MODIFIABLE_BITS;
>>
>>          F2FS_I(inode)->i_advise = new_advise;
>> --

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