> On 2020/6/30 12:45, Jia Yang wrote:
>> The parameter "op_flags" is not used in f2fs_get_read_data_page(),
>> so it can be removed.
> 
> I don't think so, there is one missing case as below, in where op_flag
> was set incorrectly in f2fs_grab_read_bio(), we need to add one more
> parameter to pass op_flag value.
> 
> - gc_data_segment
>  - f2fs_get_read_data_page(.., op_flag = REQ_RAHEAD,..)
>   - f2fs_submit_page_read
>    - f2fs_grab_read_bio(.., op_flag = 0, ..)
> 

Thanks for your suggestion, I will submit a new patch later
as you suggested.

>>
>> Signed-off-by: Jia Yang <jiaya...@huawei.com>
>> ---
>>  fs/f2fs/data.c | 6 +++---
>>  fs/f2fs/f2fs.h | 2 +-
>>  fs/f2fs/gc.c   | 2 +-
>>  3 files changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
>> index 326c63879ddc..f1b85185e9df 100644
>> --- a/fs/f2fs/data.c
>> +++ b/fs/f2fs/data.c
>> @@ -1157,7 +1157,7 @@ int f2fs_get_block(struct dnode_of_data *dn, pgoff_t 
>> index)
>>  }
>>  
>>  struct page *f2fs_get_read_data_page(struct inode *inode, pgoff_t index,
>> -                                            int op_flags, bool for_write)
>> +                                            bool for_write)
>>  {
>>      struct address_space *mapping = inode->i_mapping;
>>      struct dnode_of_data dn;
>> @@ -1237,7 +1237,7 @@ struct page *f2fs_find_data_page(struct inode *inode, 
>> pgoff_t index)
>>              return page;
>>      f2fs_put_page(page, 0);
>>  
>> -    page = f2fs_get_read_data_page(inode, index, 0, false);
>> +    page = f2fs_get_read_data_page(inode, index, false);
>>      if (IS_ERR(page))
>>              return page;
>>  
>> @@ -1263,7 +1263,7 @@ struct page *f2fs_get_lock_data_page(struct inode 
>> *inode, pgoff_t index,
>>      struct address_space *mapping = inode->i_mapping;
>>      struct page *page;
>>  repeat:
>> -    page = f2fs_get_read_data_page(inode, index, 0, for_write);
>> +    page = f2fs_get_read_data_page(inode, index, for_write);
>>      if (IS_ERR(page))
>>              return page;
>>  
>> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
>> index b35a50f4953c..41ef50714a39 100644
>> --- a/fs/f2fs/f2fs.h
>> +++ b/fs/f2fs/f2fs.h
>> @@ -3441,7 +3441,7 @@ int f2fs_get_block(struct dnode_of_data *dn, pgoff_t 
>> index);
>>  int f2fs_preallocate_blocks(struct kiocb *iocb, struct iov_iter *from);
>>  int f2fs_reserve_block(struct dnode_of_data *dn, pgoff_t index);
>>  struct page *f2fs_get_read_data_page(struct inode *inode, pgoff_t index,
>> -                    int op_flags, bool for_write);
>> +                    bool for_write);
>>  struct page *f2fs_find_data_page(struct inode *inode, pgoff_t index);
>>  struct page *f2fs_get_lock_data_page(struct inode *inode, pgoff_t index,
>>                      bool for_write);
>> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
>> index 5b95d5a146eb..487f75d9136c 100644
>> --- a/fs/f2fs/gc.c
>> +++ b/fs/f2fs/gc.c
>> @@ -1094,7 +1094,7 @@ static int gc_data_segment(struct f2fs_sb_info *sbi, 
>> struct f2fs_summary *sum,
>>                      }
>>  
>>                      data_page = f2fs_get_read_data_page(inode,
>> -                                            start_bidx, REQ_RAHEAD, true);
>> +                                            start_bidx, true);
>>                      up_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
>>                      if (IS_ERR(data_page)) {
>>                              iput(inode);
>>
> .
> 


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to