On 2017/2/25 9:44, Hou Pengyang wrote:
> On 2017/2/24 18:28, Chao Yu wrote:
>> On 2017/2/24 18:01, Hou Pengyang wrote:
>>> Under scenerio with large number of dirty nodes, and these nodes are flushed
>>> in SSR mode during cp. enough free segemts now, no need to do fggc.
>>
>> We'd better break out of GC flow once we encounter cp error, so additional
>> condition judgment is not needed.
>>
> 
> In (ret || !has_not_enough_free_secs(sbi, sec_freed, 0)),
> if cp return error(NOT zero), flow will goto stop directly without 
> has_not_enough_free_secs checking;
> if cp return ok(zero), has_not_enough_free_secs would be checked.

Oh, sorry, I misunderstood your patch, can you add some comments in the code 
too?

Thanks,

> 
> Thanks,
> 
>> Thanks,
>>
>>>
>>> Signed-off-by: Hou Pengyang <houpengy...@huawei.com>
>>> ---
>>>   fs/f2fs/gc.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
>>> index 6c996e3..41bdfb7 100644
>>> --- a/fs/f2fs/gc.c
>>> +++ b/fs/f2fs/gc.c
>>> @@ -959,7 +959,7 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, bool 
>>> background)
>>>              * garbage collections.
>>>              */
>>>             ret = write_checkpoint(sbi, &cpc);
>>> -           if (ret)
>>> +           if (ret || !has_not_enough_free_secs(sbi, sec_freed, 0))
>>>                     goto stop;
>>>     } else if (gc_type == BG_GC && !background) {
>>>             /* f2fs_balance_fs doesn't need to do BG_GC in critical path. */
>>>
>>
>>
>> .
>>
> 
> 
> 
> .
> 


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