Hi Damien,

On 2017/5/24 13:02, Damien Le Moal wrote:
> clear_prefree_segments() issues small discards after discarding full
> segments. These small discards may not be section aligned, so not zone
> aligned when using a zoned block device, or more generally, when
> mounted in LFS mode. So do not issue these small discards when mounted
> in LFS mode.
> 
> Signed-off-by: Damien Le Moal <damien.lem...@wdc.com>
> ---
>  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 9684585..3d190a7 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -1322,7 +1322,8 @@ void clear_prefree_segments(struct f2fs_sb_info *sbi, 
> struct cp_control *cpc)
>                                       sbi->blocks_per_seg, cur_pos);
>                       len = next_pos - cur_pos;
>  
> -                     if (force && len < cpc->trim_minlen)
> +                     if (test_opt(sbi, LFS) ||

Could we just check f2fs_sb_mounted_blkzoned here instead of F2FS_MOUNT_LFS here
? so a non-blkzoned device can enables small discard when user mount the device
with LFS option. Right?

Thanks,

> +                         (force && len < cpc->trim_minlen))
>                               goto skip;
>  
>                       f2fs_issue_discard(sbi, entry->start_blkaddr + cur_pos,
> 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to