diff options
| author | Yunlei He <heyunlei@huawei.com> | 2016-07-07 12:13:33 +0800 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-04-13 12:33:51 +0200 |
| commit | 2abf909785fee200e6a7dd032695a187d0368df8 (patch) | |
| tree | bde8ccba9ad52a8f2872dd71573fff3574528c04 | |
| parent | f782f3369565f5a816da729ffe4b519670c33e22 (diff) | |
f2fs: avoid mismatching block range for discard
This patch skip discard block range smaller than trim_minlen,
and can not be merged by neighbour
Signed-off-by: Yunlei He <heyunlei@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
| -rw-r--r-- | fs/f2fs/segment.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 2f0eaccfa..8acdcb642 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -731,6 +731,10 @@ static void add_discard_addrs(struct f2fs_sb_info *sbi, struct cp_control *cpc) break; end = __find_rev_next_zero_bit(dmap, max_blocks, start + 1); + if (force && start && end != max_blocks + && (end - start) < cpc->trim_minlen) + continue; + __add_discard_entry(sbi, cpc, se, start, end); } } |
