On 04/10, Yunlei He wrote:
> In flush_sit_entries::add_discard_addrs path, cur_map and ckpt_map
> are the same, but in exist_trim_candidates::add_discard_addrs,
> cur_map is updated one, and newer than ckpt_map, so we need to use
> cur_map to check whether there are discard candidates.
> 
> v1->v2: one problem of check discard candidates reported by Chao,
> besides, update commit message.
> 
> Signed-off-by: Yunlei He <heyun...@huawei.com>
> ---
>  fs/f2fs/segment.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index 5854cc4..f5d0499 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -1559,7 +1559,7 @@ static bool add_discard_addrs(struct f2fs_sb_info *sbi, 
> struct cp_control *cpc,
>  
>       /* SIT_VBLOCK_MAP_SIZE should be multiple of sizeof(unsigned long) */
>       for (i = 0; i < entries; i++)
> -             dmap[i] = force ? ~ckpt_map[i] & ~discard_map[i] :
> +             dmap[i] = force ? ~cur_map[i] & ~discard_map[i] :

NAK. We're able to loose data for roll-forward recovery.

>                               (cur_map[i] ^ ckpt_map[i]) & ckpt_map[i];
>  
>       while (force || SM_I(sbi)->dcc_info->nr_discards <=
> -- 
> 1.9.1

------------------------------------------------------------------------------
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