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

This patch stop discard thread to issue discard io 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

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

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 5854cc4..7f45cc4 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1202,6 +1202,12 @@ 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)) {
+		f2fs_msg(sbi->sb, KERN_WARNING,
+			"Found FS corruption, run fsck to fix.");
+		return issued;
+	}
+
 	for (i = MAX_PLIST_NUM - 1; i >= 0; i--) {
 		if (i + 1 < dpolicy->granularity)
 			break;
@@ -1410,7 +1416,6 @@ static int issue_discard_thread(void *data)
 			continue;
 		if (kthread_should_stop())
 			return 0;
-
 		if (dcc->discard_wake)
 			dcc->discard_wake = 0;
 
-- 
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] 3+ messages in thread

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

On 2018/4/9 11:54, Yunlei He wrote:
> This patch stop discard thread to issue discard io 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
> 
> Signed-off-by: Yunlei He <heyunlei@huawei.com>
> ---
>  fs/f2fs/segment.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index 5854cc4..7f45cc4 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -1202,6 +1202,12 @@ 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)) {
> +		f2fs_msg(sbi->sb, KERN_WARNING,
> +			"Found FS corruption, run fsck to fix.");

I think we don't need to print this message redundantly if we have print in all
places we set the flag.

So let's just skip issuing discard in async thread and __submit_discard_cmd.

> +		return issued;
> +	}
> +
>  	for (i = MAX_PLIST_NUM - 1; i >= 0; i--) {
>  		if (i + 1 < dpolicy->granularity)
>  			break;
> @@ -1410,7 +1416,6 @@ static int issue_discard_thread(void *data)
>  			continue;
>  		if (kthread_should_stop())
>  			return 0;
> -

We'd better to avoid meaningless blank line removal.

Thank,s

>  		if (dcc->discard_wake)
>  			dcc->discard_wake = 0;
>  
> 


------------------------------------------------------------------------------
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] 3+ messages in thread

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



>-----Original Message-----
>From: Yuchao (T)
>Sent: Monday, April 09, 2018 7:05 PM
>To: heyunlei; jaegeuk@kernel.org; linux-f2fs-devel@lists.sourceforge.net
>Cc: Wangbintian; Zhangdianfang (Euler)
>Subject: Re: [f2fs-dev][PATCH v2] f2fs: stop issue discard if something wrong with f2fs
>
>On 2018/4/9 11:54, Yunlei He wrote:
>> This patch stop discard thread to issue discard io 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
>>
>> Signed-off-by: Yunlei He <heyunlei@huawei.com>
>> ---
>>  fs/f2fs/segment.c | 7 ++++++-
>>  1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
>> index 5854cc4..7f45cc4 100644
>> --- a/fs/f2fs/segment.c
>> +++ b/fs/f2fs/segment.c
>> @@ -1202,6 +1202,12 @@ 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)) {
>> +		f2fs_msg(sbi->sb, KERN_WARNING,
>> +			"Found FS corruption, run fsck to fix.");
>
>I think we don't need to print this message redundantly if we have print in all
>places we set the flag.
>
>So let's just skip issuing discard in async thread and __submit_discard_cmd.

Okay, I'll resend a new version.
 
>
>> +		return issued;
>> +	}
>> +
>>  	for (i = MAX_PLIST_NUM - 1; i >= 0; i--) {
>>  		if (i + 1 < dpolicy->granularity)
>>  			break;
>> @@ -1410,7 +1416,6 @@ static int issue_discard_thread(void *data)
>>  			continue;
>>  		if (kthread_should_stop())
>>  			return 0;
>> -
>
>We'd better to avoid meaningless blank line removal.

Sorry for this mistake.

Thanks.
>
>Thank,s
>
>>  		if (dcc->discard_wake)
>>  			dcc->discard_wake = 0;
>>
>>


------------------------------------------------------------------------------
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] 3+ messages in thread

end of thread, other threads:[~2018-04-09 11:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-09  3:54 [PATCH v2] f2fs: stop issue discard if something wrong with f2fs Yunlei He
2018-04-09 11:04 ` Chao Yu
2018-04-09 11:23   ` heyunlei

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).