Hi Yunlei, > -----Original Message----- > From: Yunlei He [mailto:[email protected]] > Sent: Tuesday, September 08, 2015 6:51 PM > To: [email protected]; [email protected]; > [email protected] > Cc: [email protected]; Yunlei He > Subject: [f2fs-dev] [PATCH] f2fs: add a judgment in add_discard_addrs > > CP_DISCARD traverse all segments in fstrim_range to add small discards, > it is better to select entry->len bigger than trim_minlen.
If we mount with 'discard' option, f2fs will trigger real-time discard when do checkpoint. If we add judgment condition here, fragmented invalid blocks will not be discarded since we stop adding them in pending list through __add_discard_entry. Thanks, > > Signed-off-by: Yunlei He <[email protected]> > --- > fs/f2fs/segment.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c > index 78e6d06..a0dab7a 100644 > --- a/fs/f2fs/segment.c > +++ b/fs/f2fs/segment.c > @@ -599,7 +599,8 @@ 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); > - __add_discard_entry(sbi, cpc, se, start, end); > + if(force && cpc->trim_minlen >= (end - start)) > + __add_discard_entry(sbi, cpc, se, start, end); > } > } > > -- > 1.9.1 ------------------------------------------------------------------------------ _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
