linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] f2fs: merge equivalent flags F2FS_GET_BLOCK_[READ|DIO]
@ 2017-08-09  9:27 sunqiuyang
  2017-08-10 10:45 ` Chao Yu
  0 siblings, 1 reply; 6+ messages in thread
From: sunqiuyang @ 2017-08-09  9:27 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel, linux-f2fs-devel; +Cc: sunqiuyang

From: Qiuyang Sun <sunqiuyang@huawei.com>

Currently, the two flags F2FS_GET_BLOCK_[READ|DIO] are totally equivalent
and can be used interchangably in all scenarios they are involved in. 
Neither of the flags is referenced in f2fs_map_blocks(), making them both 
the default case. To remove the ambiguity, this patch merges both flags
into F2FS_GET_BLOCK_DEFAULT, and introduces an enum for all distinct flags.

Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com>
---
 fs/f2fs/data.c |  4 ++--
 fs/f2fs/f2fs.h | 13 +++++++------
 fs/f2fs/file.c |  4 ++--
 3 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index c43262d..67da4f6 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -1044,7 +1044,7 @@ static int get_data_block_dio(struct inode *inode, sector_t iblock,
 			struct buffer_head *bh_result, int create)
 {
 	return __get_data_block(inode, iblock, bh_result, create,
-						F2FS_GET_BLOCK_DIO, NULL);
+						F2FS_GET_BLOCK_DEFAULT, NULL);
 }
 
 static int get_data_block_bmap(struct inode *inode, sector_t iblock,
@@ -1244,7 +1244,7 @@ static int f2fs_mpage_readpages(struct address_space *mapping,
 			map.m_len = last_block - block_in_file;
 
 			if (f2fs_map_blocks(inode, &map, 0,
-						F2FS_GET_BLOCK_READ))
+						F2FS_GET_BLOCK_DEFAULT))
 				goto set_error_page;
 		}
 got_it:
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index cea329f..2f20b6b 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -514,12 +514,13 @@ struct f2fs_map_blocks {
 };
 
 /* for flag in get_data_block */
-#define F2FS_GET_BLOCK_READ		0
-#define F2FS_GET_BLOCK_DIO		1
-#define F2FS_GET_BLOCK_FIEMAP		2
-#define F2FS_GET_BLOCK_BMAP		3
-#define F2FS_GET_BLOCK_PRE_DIO		4
-#define F2FS_GET_BLOCK_PRE_AIO		5
+enum {
+	F2FS_GET_BLOCK_DEFAULT,
+	F2FS_GET_BLOCK_FIEMAP,
+	F2FS_GET_BLOCK_BMAP,
+	F2FS_GET_BLOCK_PRE_DIO,
+	F2FS_GET_BLOCK_PRE_AIO,
+};
 
 /*
  * i_advise uses FADVISE_XXX_BIT. We can add additional hints later.
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index e2b33b8..3eebd49 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -2074,7 +2074,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
 	 */
 	while (map.m_lblk < pg_end) {
 		map.m_len = pg_end - map.m_lblk;
-		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
+		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DEFAULT);
 		if (err)
 			goto out;
 
@@ -2116,7 +2116,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
 
 do_map:
 		map.m_len = pg_end - map.m_lblk;
-		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
+		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DEFAULT);
 		if (err)
 			goto clear_out;
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] f2fs: merge equivalent flags F2FS_GET_BLOCK_[READ|DIO]
  2017-08-09  9:27 [PATCH 1/1] f2fs: merge equivalent flags F2FS_GET_BLOCK_[READ|DIO] sunqiuyang
@ 2017-08-10 10:45 ` Chao Yu
  0 siblings, 0 replies; 6+ messages in thread
From: Chao Yu @ 2017-08-10 10:45 UTC (permalink / raw)
  To: sunqiuyang, linux-kernel, linux-fsdevel, linux-f2fs-devel

On 2017/8/9 17:27, sunqiuyang wrote:
> From: Qiuyang Sun <sunqiuyang@huawei.com>
> 
> Currently, the two flags F2FS_GET_BLOCK_[READ|DIO] are totally equivalent
> and can be used interchangably in all scenarios they are involved in. 
> Neither of the flags is referenced in f2fs_map_blocks(), making them both 
> the default case. To remove the ambiguity, this patch merges both flags
> into F2FS_GET_BLOCK_DEFAULT, and introduces an enum for all distinct flags.
> 
> Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com>

Reviewed-by: Chao Yu <yuchao0@huawei.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] f2fs: merge equivalent flags F2FS_GET_BLOCK_[READ|DIO]
  2017-08-08 11:41   ` Sun Qiuyang
@ 2017-08-09  1:13     ` Chao Yu
  0 siblings, 0 replies; 6+ messages in thread
From: Chao Yu @ 2017-08-09  1:13 UTC (permalink / raw)
  To: Sun Qiuyang, linux-kernel, linux-fsdevel, linux-f2fs-devel

On 2017/8/8 19:41, Sun Qiuyang wrote:
> 
> 
>> On 2017/8/8 18:27, sunqiuyang wrote:
>>> From: Qiuyang Sun <sunqiuyang@huawei.com>
>>>
>>> Currently, the two flags F2FS_GET_BLOCK_[READ|DIO] are totally equivalent
>>> and can be used interchangably in all scenarios they are involved in. This
>>> patch deletes F2FS_GET_BLOCK_READ and uses F2FS_GET_BLOCK_DIO instead.
>>
>> Seems weird from readability point of view, so how about keeping
>> F2FS_GET_BLOCK_READ alive but sharing defined value with F2FS_GET_BLOCK_DIO?
>>
>> enum {
>> 	F2FS_GET_BLOCK_DIO,
>> 	F2FS_GET_BLOCK_READ = F2FS_GET_BLOCK_DIO,
>> 	F2FS_GET_BLOCK_FIEMAP,
>> 	...
>> }
>>
>> Thanks,
> How about renaming both of them F2FS_GET_BLOCK_DEFAULT? Actually neither 
> READ nor DIO is explicitly referenced in f2fs_map_blocks(); it is just 
> the "default" case. We have no reason to limit the use of this flag to 
> "read" or "direct IO" only.

Better. :)

Thanks,

> 
> Thanks,
>>
>>>
>>> Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com>
>>> ---
>>>  fs/f2fs/data.c | 2 +-
>>>  fs/f2fs/f2fs.h | 1 -
>>>  fs/f2fs/file.c | 4 ++--
>>>  3 files changed, 3 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
>>> index c43262d..e0a59bf 100644
>>> --- a/fs/f2fs/data.c
>>> +++ b/fs/f2fs/data.c
>>> @@ -1244,7 +1244,7 @@ static int f2fs_mpage_readpages(struct address_space *mapping,
>>>  			map.m_len = last_block - block_in_file;
>>>
>>>  			if (f2fs_map_blocks(inode, &map, 0,
>>> -						F2FS_GET_BLOCK_READ))
>>> +						F2FS_GET_BLOCK_DIO))
>>>  				goto set_error_page;
>>>  		}
>>>  got_it:
>>> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
>>> index cea329f..0593ca7 100644
>>> --- a/fs/f2fs/f2fs.h
>>> +++ b/fs/f2fs/f2fs.h
>>> @@ -514,7 +514,6 @@ struct f2fs_map_blocks {
>>>  };
>>>
>>>  /* for flag in get_data_block */
>>> -#define F2FS_GET_BLOCK_READ		0
>>>  #define F2FS_GET_BLOCK_DIO		1
>>>  #define F2FS_GET_BLOCK_FIEMAP		2
>>>  #define F2FS_GET_BLOCK_BMAP		3
>>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
>>> index e2b33b8..8271cb5 100644
>>> --- a/fs/f2fs/file.c
>>> +++ b/fs/f2fs/file.c
>>> @@ -2074,7 +2074,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
>>>  	 */
>>>  	while (map.m_lblk < pg_end) {
>>>  		map.m_len = pg_end - map.m_lblk;
>>> -		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
>>> +		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DIO);
>>>  		if (err)
>>>  			goto out;
>>>
>>> @@ -2116,7 +2116,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
>>>
>>>  do_map:
>>>  		map.m_len = pg_end - map.m_lblk;
>>> -		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
>>> +		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DIO);
>>>  		if (err)
>>>  			goto clear_out;
>>>
>>>
>>
>>
>> .
>>
> 
> 
> .
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] f2fs: merge equivalent flags F2FS_GET_BLOCK_[READ|DIO]
  2017-08-08 11:24 ` Chao Yu
@ 2017-08-08 11:41   ` Sun Qiuyang
  2017-08-09  1:13     ` Chao Yu
  0 siblings, 1 reply; 6+ messages in thread
From: Sun Qiuyang @ 2017-08-08 11:41 UTC (permalink / raw)
  To: Chao Yu, linux-kernel, linux-fsdevel, linux-f2fs-devel



> On 2017/8/8 18:27, sunqiuyang wrote:
>> From: Qiuyang Sun <sunqiuyang@huawei.com>
>>
>> Currently, the two flags F2FS_GET_BLOCK_[READ|DIO] are totally equivalent
>> and can be used interchangably in all scenarios they are involved in. This
>> patch deletes F2FS_GET_BLOCK_READ and uses F2FS_GET_BLOCK_DIO instead.
>
> Seems weird from readability point of view, so how about keeping
> F2FS_GET_BLOCK_READ alive but sharing defined value with F2FS_GET_BLOCK_DIO?
>
> enum {
> 	F2FS_GET_BLOCK_DIO,
> 	F2FS_GET_BLOCK_READ = F2FS_GET_BLOCK_DIO,
> 	F2FS_GET_BLOCK_FIEMAP,
> 	...
> }
>
> Thanks,
How about renaming both of them F2FS_GET_BLOCK_DEFAULT? Actually neither 
READ nor DIO is explicitly referenced in f2fs_map_blocks(); it is just 
the "default" case. We have no reason to limit the use of this flag to 
"read" or "direct IO" only.

Thanks,
>
>>
>> Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com>
>> ---
>>  fs/f2fs/data.c | 2 +-
>>  fs/f2fs/f2fs.h | 1 -
>>  fs/f2fs/file.c | 4 ++--
>>  3 files changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
>> index c43262d..e0a59bf 100644
>> --- a/fs/f2fs/data.c
>> +++ b/fs/f2fs/data.c
>> @@ -1244,7 +1244,7 @@ static int f2fs_mpage_readpages(struct address_space *mapping,
>>  			map.m_len = last_block - block_in_file;
>>
>>  			if (f2fs_map_blocks(inode, &map, 0,
>> -						F2FS_GET_BLOCK_READ))
>> +						F2FS_GET_BLOCK_DIO))
>>  				goto set_error_page;
>>  		}
>>  got_it:
>> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
>> index cea329f..0593ca7 100644
>> --- a/fs/f2fs/f2fs.h
>> +++ b/fs/f2fs/f2fs.h
>> @@ -514,7 +514,6 @@ struct f2fs_map_blocks {
>>  };
>>
>>  /* for flag in get_data_block */
>> -#define F2FS_GET_BLOCK_READ		0
>>  #define F2FS_GET_BLOCK_DIO		1
>>  #define F2FS_GET_BLOCK_FIEMAP		2
>>  #define F2FS_GET_BLOCK_BMAP		3
>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
>> index e2b33b8..8271cb5 100644
>> --- a/fs/f2fs/file.c
>> +++ b/fs/f2fs/file.c
>> @@ -2074,7 +2074,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
>>  	 */
>>  	while (map.m_lblk < pg_end) {
>>  		map.m_len = pg_end - map.m_lblk;
>> -		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
>> +		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DIO);
>>  		if (err)
>>  			goto out;
>>
>> @@ -2116,7 +2116,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
>>
>>  do_map:
>>  		map.m_len = pg_end - map.m_lblk;
>> -		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
>> +		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DIO);
>>  		if (err)
>>  			goto clear_out;
>>
>>
>
>
> .
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] f2fs: merge equivalent flags F2FS_GET_BLOCK_[READ|DIO]
  2017-08-08 10:27 sunqiuyang
@ 2017-08-08 11:24 ` Chao Yu
  2017-08-08 11:41   ` Sun Qiuyang
  0 siblings, 1 reply; 6+ messages in thread
From: Chao Yu @ 2017-08-08 11:24 UTC (permalink / raw)
  To: sunqiuyang, linux-kernel, linux-fsdevel, linux-f2fs-devel

On 2017/8/8 18:27, sunqiuyang wrote:
> From: Qiuyang Sun <sunqiuyang@huawei.com>
> 
> Currently, the two flags F2FS_GET_BLOCK_[READ|DIO] are totally equivalent
> and can be used interchangably in all scenarios they are involved in. This
> patch deletes F2FS_GET_BLOCK_READ and uses F2FS_GET_BLOCK_DIO instead.

Seems weird from readability point of view, so how about keeping
F2FS_GET_BLOCK_READ alive but sharing defined value with F2FS_GET_BLOCK_DIO?

enum {
	F2FS_GET_BLOCK_DIO,
	F2FS_GET_BLOCK_READ = F2FS_GET_BLOCK_DIO,
	F2FS_GET_BLOCK_FIEMAP,
	...
}

Thanks,

> 
> Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com>
> ---
>  fs/f2fs/data.c | 2 +-
>  fs/f2fs/f2fs.h | 1 -
>  fs/f2fs/file.c | 4 ++--
>  3 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
> index c43262d..e0a59bf 100644
> --- a/fs/f2fs/data.c
> +++ b/fs/f2fs/data.c
> @@ -1244,7 +1244,7 @@ static int f2fs_mpage_readpages(struct address_space *mapping,
>  			map.m_len = last_block - block_in_file;
>  
>  			if (f2fs_map_blocks(inode, &map, 0,
> -						F2FS_GET_BLOCK_READ))
> +						F2FS_GET_BLOCK_DIO))
>  				goto set_error_page;
>  		}
>  got_it:
> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
> index cea329f..0593ca7 100644
> --- a/fs/f2fs/f2fs.h
> +++ b/fs/f2fs/f2fs.h
> @@ -514,7 +514,6 @@ struct f2fs_map_blocks {
>  };
>  
>  /* for flag in get_data_block */
> -#define F2FS_GET_BLOCK_READ		0
>  #define F2FS_GET_BLOCK_DIO		1
>  #define F2FS_GET_BLOCK_FIEMAP		2
>  #define F2FS_GET_BLOCK_BMAP		3
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index e2b33b8..8271cb5 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -2074,7 +2074,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
>  	 */
>  	while (map.m_lblk < pg_end) {
>  		map.m_len = pg_end - map.m_lblk;
> -		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
> +		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DIO);
>  		if (err)
>  			goto out;
>  
> @@ -2116,7 +2116,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
>  
>  do_map:
>  		map.m_len = pg_end - map.m_lblk;
> -		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
> +		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DIO);
>  		if (err)
>  			goto clear_out;
>  
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/1] f2fs: merge equivalent flags F2FS_GET_BLOCK_[READ|DIO]
@ 2017-08-08 10:27 sunqiuyang
  2017-08-08 11:24 ` Chao Yu
  0 siblings, 1 reply; 6+ messages in thread
From: sunqiuyang @ 2017-08-08 10:27 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel, linux-f2fs-devel; +Cc: sunqiuyang

From: Qiuyang Sun <sunqiuyang@huawei.com>

Currently, the two flags F2FS_GET_BLOCK_[READ|DIO] are totally equivalent
and can be used interchangably in all scenarios they are involved in. This
patch deletes F2FS_GET_BLOCK_READ and uses F2FS_GET_BLOCK_DIO instead.

Signed-off-by: Qiuyang Sun <sunqiuyang@huawei.com>
---
 fs/f2fs/data.c | 2 +-
 fs/f2fs/f2fs.h | 1 -
 fs/f2fs/file.c | 4 ++--
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index c43262d..e0a59bf 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -1244,7 +1244,7 @@ static int f2fs_mpage_readpages(struct address_space *mapping,
 			map.m_len = last_block - block_in_file;
 
 			if (f2fs_map_blocks(inode, &map, 0,
-						F2FS_GET_BLOCK_READ))
+						F2FS_GET_BLOCK_DIO))
 				goto set_error_page;
 		}
 got_it:
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index cea329f..0593ca7 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -514,7 +514,6 @@ struct f2fs_map_blocks {
 };
 
 /* for flag in get_data_block */
-#define F2FS_GET_BLOCK_READ		0
 #define F2FS_GET_BLOCK_DIO		1
 #define F2FS_GET_BLOCK_FIEMAP		2
 #define F2FS_GET_BLOCK_BMAP		3
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index e2b33b8..8271cb5 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -2074,7 +2074,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
 	 */
 	while (map.m_lblk < pg_end) {
 		map.m_len = pg_end - map.m_lblk;
-		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
+		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DIO);
 		if (err)
 			goto out;
 
@@ -2116,7 +2116,7 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,
 
 do_map:
 		map.m_len = pg_end - map.m_lblk;
-		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_READ);
+		err = f2fs_map_blocks(inode, &map, 0, F2FS_GET_BLOCK_DIO);
 		if (err)
 			goto clear_out;
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-08-10 10:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-09  9:27 [PATCH 1/1] f2fs: merge equivalent flags F2FS_GET_BLOCK_[READ|DIO] sunqiuyang
2017-08-10 10:45 ` Chao Yu
  -- strict thread matches above, loose matches on Subject: below --
2017-08-08 10:27 sunqiuyang
2017-08-08 11:24 ` Chao Yu
2017-08-08 11:41   ` Sun Qiuyang
2017-08-09  1:13     ` Chao Yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).