1 From foo@baz Sat Jul 28 10:25:26 CEST 2018
2 From: Chao Yu <yuchao0@huawei.com>
3 Date: Mon, 28 May 2018 16:59:27 +0800
4 Subject: f2fs: fix error path of move_data_page
6 From: Chao Yu <yuchao0@huawei.com>
8 [ Upstream commit 14a28559f43ac7c0b98dd1b0e73ec9ec8ab4fc45 ]
10 This patch fixes error path of move_data_page:
11 - clear cold data flag if it fails to write page.
12 - redirty page for non-ENOMEM case.
14 Signed-off-by: Chao Yu <yuchao0@huawei.com>
15 Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
16 Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
17 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19 fs/f2fs/gc.c | 11 ++++++++---
20 1 file changed, 8 insertions(+), 3 deletions(-)
24 @@ -768,9 +768,14 @@ retry:
27 err = do_write_data_page(&fio);
28 - if (err == -ENOMEM && is_dirty) {
29 - congestion_wait(BLK_RW_ASYNC, HZ/50);
32 + clear_cold_data(page);
33 + if (err == -ENOMEM) {
34 + congestion_wait(BLK_RW_ASYNC, HZ/50);
38 + set_page_dirty(page);