[PATCH v2] f2fs: fix normal discard process

zhangdongdong posted 1 patch 3 years, 5 months ago
fs/f2fs/segment.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] f2fs: fix normal discard process
Posted by zhangdongdong 3 years, 5 months ago
From: Dongdong Zhang <zhangdongdong1@oppo.com>

In the DPOLICY_BG mode, there is a conflict between
the two conditions "i + 1 < dpolicy->granularity" and
"i < DEFAULT_DISCARD_GRANULARITY". If i = 15, the first
condition is false, it will enter the second condition
and dispatch all small granularity discards in function
 __issue_discard_cmd_orderly. The restrictive effect
of the first condition to small discards will be
invalidated. These two conditions should align.

Fixes: 20ee4382322c ("f2fs: issue small discard by LBA order")
Signed-off-by: Dongdong Zhang <zhangdongdong1@oppo.com>
---
 fs/f2fs/segment.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index acf3d3f..2fcb140 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1448,7 +1448,7 @@ static int __issue_discard_cmd(struct f2fs_sb_info *sbi,
 		if (i + 1 < dpolicy->granularity)
 			break;
 
-		if (i < DEFAULT_DISCARD_GRANULARITY && dpolicy->ordered)
+		if (i + 1 < DEFAULT_DISCARD_GRANULARITY && dpolicy->ordered)
 			return __issue_discard_cmd_orderly(sbi, dpolicy);
 
 		pend_list = &dcc->pend_list[i];
-- 
2.7.4
Re: [PATCH v2] f2fs: fix normal discard process
Posted by Chao Yu 3 years, 5 months ago
On 2022/10/25 17:40, zhangdongdong wrote:
> From: Dongdong Zhang <zhangdongdong1@oppo.com>
> 
> In the DPOLICY_BG mode, there is a conflict between
> the two conditions "i + 1 < dpolicy->granularity" and
> "i < DEFAULT_DISCARD_GRANULARITY". If i = 15, the first
> condition is false, it will enter the second condition
> and dispatch all small granularity discards in function
>   __issue_discard_cmd_orderly. The restrictive effect
> of the first condition to small discards will be
> invalidated. These two conditions should align.
> 
> Fixes: 20ee4382322c ("f2fs: issue small discard by LBA order")
> Signed-off-by: Dongdong Zhang <zhangdongdong1@oppo.com>

Reviewed-by: Chao Yu <chao@kernel.org>

Thanks,