Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b28c3f94 authored by Chao Yu's avatar Chao Yu Committed by Jaegeuk Kim
Browse files

f2fs: fix to issue small discard in real-time mode discard



Now in f2fs, we share functions and structures for batch mode and real-time mode
discard. For real-time mode discard, in shared function add_discard_addrs, we
will use uninitialized trim_minlen in struct cp_control to compare with length
of contiguous free blocks to decide whether skipping discard fragmented freespace
or not, this makes us ignore small discard sometimes. Fix it.

Signed-off-by: default avatarChao Yu <chao2.yu@samsung.com>
Reviewed-by : Changman Lee <cm224.lee@samsung.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 7ecebe5e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -552,7 +552,7 @@ static void add_discard_addrs(struct f2fs_sb_info *sbi, struct cp_control *cpc)


		end = __find_rev_next_zero_bit(dmap, max_blocks, start + 1);
		end = __find_rev_next_zero_bit(dmap, max_blocks, start + 1);


		if (end - start < cpc->trim_minlen)
		if (force && end - start < cpc->trim_minlen)
			continue;
			continue;


		__add_discard_entry(sbi, cpc, start, end);
		__add_discard_entry(sbi, cpc, start, end);