Hi,

This bug was present only in 4.19.
Is it still applicable to older branches?

Thanks.
On Sun, Nov 11, 2018 at 6:13 PM Ju Hyung Park <qkrwngud...@gmail.com> wrote:
>
> Hi,
>
> This bug was present only in 4.19.
> Is it still applicable to older branches?
>
> Thanks.
>
> On Sun, Nov 11, 2018, 12:26 PM <gre...@linuxfoundation.org wrote:
>>
>>
>> This is a note to let you know that I've just added the patch titled
>>
>>     Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()"
>>
>> to the 4.18-stable tree which can be found at:
>>     
>> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>>
>> The filename of the patch is:
>>      revert-f2fs-fix-to-clear-pg_checked-flag-in-set_page_dirty.patch
>> and it can be found in the queue-4.18 subdirectory.
>>
>> If you, or anyone else, feels it should not be added to the stable tree,
>> please let <sta...@vger.kernel.org> know about it.
>>
>>
>> From 164a63fa6b384e30ceb96ed80bc7dc3379bc0960 Mon Sep 17 00:00:00 2001
>> From: Jaegeuk Kim <jaeg...@kernel.org>
>> Date: Tue, 16 Oct 2018 19:30:13 -0700
>> Subject: Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()"
>>
>> From: Jaegeuk Kim <jaeg...@kernel.org>
>>
>> commit 164a63fa6b384e30ceb96ed80bc7dc3379bc0960 upstream.
>>
>> This reverts commit 66110abc4c931f879d70e83e1281f891699364bf.
>>
>> If we clear the cold data flag out of the writeback flow, we can miscount
>> -1 by end_io, which incurs a deadlock caused by all I/Os being blocked during
>> heavy GC.
>>
>> Balancing F2FS Async:
>>  - IO (CP:    1, Data:   -1, Flush: (   0    0    1), Discard: (   ...
>>
>> GC thread:                              IRQ
>> - move_data_page()
>>  - set_page_dirty()
>>   - clear_cold_data()
>>                                         - f2fs_write_end_io()
>>                                          - type = WB_DATA_TYPE(page);
>>                                            here, we get wrong type
>>                                          - dec_page_count(sbi, type);
>>  - f2fs_wait_on_page_writeback()
>>
>> Cc: <sta...@vger.kernel.org>
>> Reported-and-Tested-by: Park Ju Hyung <qkrwngud...@gmail.com>
>> Reviewed-by: Chao Yu <yuch...@huawei.com>
>> Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
>> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
>>
>> ---
>>  fs/f2fs/data.c |    4 ----
>>  1 file changed, 4 deletions(-)
>>
>> --- a/fs/f2fs/data.c
>> +++ b/fs/f2fs/data.c
>> @@ -2501,10 +2501,6 @@ static int f2fs_set_data_page_dirty(stru
>>         if (!PageUptodate(page))
>>                 SetPageUptodate(page);
>>
>> -       /* don't remain PG_checked flag which was set during GC */
>> -       if (is_cold_data(page))
>> -               clear_cold_data(page);
>> -
>>         if (f2fs_is_atomic_file(inode) && 
>> !f2fs_is_commit_atomic_write(inode)) {
>>                 if (!IS_ATOMIC_WRITTEN_PAGE(page)) {
>>                         f2fs_register_inmem_page(inode, page);
>>
>>
>> Patches currently in stable-queue which might be from jaeg...@kernel.org are
>>
>> queue-4.18/f2fs-fix-to-recover-inode-s-i_flags-during-por.patch
>> queue-4.18/f2fs-fix-to-recover-inode-s-crtime-during-por.patch
>> queue-4.18/f2fs-fix-to-account-io-correctly-for-cgroup-writeback.patch
>> queue-4.18/f2fs-fix-to-recover-cold-bit-of-inode-block-during-por.patch
>> queue-4.18/revert-f2fs-fix-to-clear-pg_checked-flag-in-set_page_dirty.patch
>> queue-4.18/f2fs-clear-pageerror-on-the-read-path.patch
>> queue-4.18/f2fs-report-error-if-quota-off-error-during-umount.patch
>> queue-4.18/f2fs-fix-to-account-io-correctly.patch
>> queue-4.18/f2fs-avoid-sleeping-under-spin_lock.patch


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to