linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] f2fs: stop issue discard if something wrong with f2fs
@ 2018-04-09 11:27 Yunlei He
  2018-04-10  2:36 ` Chao Yu
  0 siblings, 1 reply; 4+ messages in thread
From: Yunlei He @ 2018-04-09 11:27 UTC (permalink / raw)
  To: jaegeuk, yuchao0, linux-f2fs-devel; +Cc: zhangdianfang

This patch stop async thread and umount process to issue discard
if something wrong with f2fs, which is similar to fstrim.

v1->v2: add fs error check in not only discard thread but also umount process
v2->v3: remove redundant error message

Signed-off-by: Yunlei He <heyunlei@huawei.com>
---
 fs/f2fs/segment.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 5854cc4..e31d506 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1202,6 +1202,9 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi,
 	int i, iter = 0, issued = 0;
 	bool io_interrupted = false;
 
+	if (is_sbi_flag_set(sbi, SBI_NEED_FSCK))
+		return issued;
+
 	for (i = MAX_PLIST_NUM - 1; i >= 0; i--) {
 		if (i + 1 < dpolicy->granularity)
 			break;
-- 
1.9.1


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

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

* Re: [PATCH v3] f2fs: stop issue discard if something wrong with f2fs
  2018-04-09 11:27 [PATCH v3] f2fs: stop issue discard if something wrong with f2fs Yunlei He
@ 2018-04-10  2:36 ` Chao Yu
  2018-04-10  2:46   ` heyunlei
  0 siblings, 1 reply; 4+ messages in thread
From: Chao Yu @ 2018-04-10  2:36 UTC (permalink / raw)
  To: Yunlei He, jaegeuk, linux-f2fs-devel; +Cc: zhangdianfang

On 2018/4/9 19:27, Yunlei He wrote:
> This patch stop async thread and umount process to issue discard
> if something wrong with f2fs, which is similar to fstrim.
> 
> v1->v2: add fs error check in not only discard thread but also umount process
> v2->v3: remove redundant error message
> 
> Signed-off-by: Yunlei He <heyunlei@huawei.com>
> ---
>  fs/f2fs/segment.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index 5854cc4..e31d506 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -1202,6 +1202,9 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi,
>  	int i, iter = 0, issued = 0;
>  	bool io_interrupted = false;
>  
> +	if (is_sbi_flag_set(sbi, SBI_NEED_FSCK))
> +		return issued;

Hmm.. except here, I mean we'd better add it into issue_discard_thread too?

Thanks,

> +
>  	for (i = MAX_PLIST_NUM - 1; i >= 0; i--) {
>  		if (i + 1 < dpolicy->granularity)
>  			break;
> 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

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

* Re: [PATCH v3] f2fs: stop issue discard if something wrong with f2fs
  2018-04-10  2:36 ` Chao Yu
@ 2018-04-10  2:46   ` heyunlei
  2018-04-10  3:12     ` Chao Yu
  0 siblings, 1 reply; 4+ messages in thread
From: heyunlei @ 2018-04-10  2:46 UTC (permalink / raw)
  To: Yuchao (T), jaegeuk@kernel.org,
	linux-f2fs-devel@lists.sourceforge.net
  Cc: Zhangdianfang (Euler)



>-----Original Message-----
>From: Yuchao (T)
>Sent: Tuesday, April 10, 2018 10:36 AM
>To: heyunlei; jaegeuk@kernel.org; linux-f2fs-devel@lists.sourceforge.net
>Cc: Wangbintian; Zhangdianfang (Euler)
>Subject: Re: [f2fs-dev][PATCH v3] f2fs: stop issue discard if something wrong with f2fs
>
>On 2018/4/9 19:27, Yunlei He wrote:
>> This patch stop async thread and umount process to issue discard
>> if something wrong with f2fs, which is similar to fstrim.
>>
>> v1->v2: add fs error check in not only discard thread but also umount process
>> v2->v3: remove redundant error message
>>
>> Signed-off-by: Yunlei He <heyunlei@huawei.com>
>> ---
>>  fs/f2fs/segment.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
>> index 5854cc4..e31d506 100644
>> --- a/fs/f2fs/segment.c
>> +++ b/fs/f2fs/segment.c
>> @@ -1202,6 +1202,9 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi,
>>  	int i, iter = 0, issued = 0;
>>  	bool io_interrupted = false;
>>
>> +	if (is_sbi_flag_set(sbi, SBI_NEED_FSCK))
>> +		return issued;
>
>Hmm.. except here, I mean we'd better add it into issue_discard_thread too?

Async thread will also use this function to issue discard, besides, in this case
__issue_discard_cmd will return zero to async thread, thread will wait max 
Interval 60s. Anything I missed?

Thanks.

>
>Thanks,
>
>> +
>>  	for (i = MAX_PLIST_NUM - 1; i >= 0; i--) {
>>  		if (i + 1 < dpolicy->granularity)
>>  			break;
>>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

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

* Re: [PATCH v3] f2fs: stop issue discard if something wrong with f2fs
  2018-04-10  2:46   ` heyunlei
@ 2018-04-10  3:12     ` Chao Yu
  0 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2018-04-10  3:12 UTC (permalink / raw)
  To: heyunlei, jaegeuk@kernel.org,
	linux-f2fs-devel@lists.sourceforge.net
  Cc: Zhangdianfang (Euler)

On 2018/4/10 10:46, heyunlei wrote:
> 
> 
>> -----Original Message-----
>> From: Yuchao (T)
>> Sent: Tuesday, April 10, 2018 10:36 AM
>> To: heyunlei; jaegeuk@kernel.org; linux-f2fs-devel@lists.sourceforge.net
>> Cc: Wangbintian; Zhangdianfang (Euler)
>> Subject: Re: [f2fs-dev][PATCH v3] f2fs: stop issue discard if something wrong with f2fs
>>
>> On 2018/4/9 19:27, Yunlei He wrote:
>>> This patch stop async thread and umount process to issue discard
>>> if something wrong with f2fs, which is similar to fstrim.
>>>
>>> v1->v2: add fs error check in not only discard thread but also umount process
>>> v2->v3: remove redundant error message
>>>
>>> Signed-off-by: Yunlei He <heyunlei@huawei.com>
>>> ---
>>>  fs/f2fs/segment.c | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
>>> index 5854cc4..e31d506 100644
>>> --- a/fs/f2fs/segment.c
>>> +++ b/fs/f2fs/segment.c
>>> @@ -1202,6 +1202,9 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi,
>>>  	int i, iter = 0, issued = 0;
>>>  	bool io_interrupted = false;
>>>
>>> +	if (is_sbi_flag_set(sbi, SBI_NEED_FSCK))
>>> +		return issued;
>>
>> Hmm.. except here, I mean we'd better add it into issue_discard_thread too?
> 
> Async thread will also use this function to issue discard, besides, in this case
> __issue_discard_cmd will return zero to async thread, thread will wait max 
> Interval 60s. Anything I missed?

There is still locking overhead from sb_{start,end}_intwrite, although it's tiny,
but since there is no way to revert NEED_FSCK status, so just let discard thread
be aware of this to walk around is OK.

Thanks,

> 
> Thanks.
> 
>>
>> Thanks,
>>
>>> +
>>>  	for (i = MAX_PLIST_NUM - 1; i >= 0; i--) {
>>>  		if (i + 1 < dpolicy->granularity)
>>>  			break;
>>>
> 
> 
> .
> 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

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

end of thread, other threads:[~2018-04-10  3:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-09 11:27 [PATCH v3] f2fs: stop issue discard if something wrong with f2fs Yunlei He
2018-04-10  2:36 ` Chao Yu
2018-04-10  2:46   ` heyunlei
2018-04-10  3:12     ` 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).