lkml.org 
[lkml]   [2016]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [f2fs-dev] [PATCH 1/2] f2fs: fix to return correct trimmed block number in FITRIM interface
From
Date
Hi all,

I think this patch should be wrong, since during fstrim, we should not issue
discard for prefree segment redundantly.

So, Jaegeuk, could you please drop this patch in your branch?

Sorry for the noise.

Thanks,

On 2016/6/30 16:42, Chao Yu wrote:
> During tiggering fstrim, in case of issuing discard for prefree segments,
> we miss acclumulating trimmed block number which will be return to user.
> Fix it.
>
> Signed-off-by: Chao Yu <yuchao0@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 6d16ecf..5dc14d6 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -732,15 +732,20 @@ void clear_prefree_segments(struct f2fs_sb_info *sbi, struct cp_control *cpc)
> if (!test_opt(sbi, LFS) || sbi->segs_per_sec == 1) {
> f2fs_issue_discard(sbi, START_BLOCK(sbi, start),
> (end - start) << sbi->log_blocks_per_seg);
> + cpc->trimmed +=
> + (end - start) << sbi->log_blocks_per_seg;
> continue;
> }
> next:
> secno = GET_SECNO(sbi, start);
> start_segno = secno * sbi->segs_per_sec;
> if (!IS_CURSEC(sbi, secno) &&
> - !get_valid_blocks(sbi, start, sbi->segs_per_sec))
> + !get_valid_blocks(sbi, start, sbi->segs_per_sec)) {
> f2fs_issue_discard(sbi, START_BLOCK(sbi, start_segno),
> sbi->segs_per_sec << sbi->log_blocks_per_seg);
> + cpc->trimmed +=
> + sbi->segs_per_sec << sbi->log_blocks_per_seg;
> + }
>
> start = start_segno + sbi->segs_per_sec;
> if (start < end)
>

\
 
 \ /
  Last update: 2016-07-07 07:21    [W:1.353 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site