diff options
author | Chao Yu <yuchao0@huawei.com> | 2018-01-18 17:29:10 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2018-01-22 14:56:56 -0800 |
commit | db198ae0f823e13e3698b24049e741978a0f14e3 (patch) | |
tree | 875c3cc5b84372eea3e7b7bdb22b8c7f60f4ac8f /fs/f2fs/checkpoint.c | |
parent | 7950e9ac638e84518fbdd5c930939ad46a1068c5 (diff) | |
download | linux-stable-db198ae0f823e13e3698b24049e741978a0f14e3.tar.gz linux-stable-db198ae0f823e13e3698b24049e741978a0f14e3.tar.bz2 linux-stable-db198ae0f823e13e3698b24049e741978a0f14e3.zip |
f2fs: drop page cache after fs shutdown
Don't remain dirtied page cache in f2fs after shutdown, it can mitigate
memory pressure of whole system, in order to keep other modules working
properly.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/checkpoint.c')
-rw-r--r-- | fs/f2fs/checkpoint.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index 097eadc82432..9c7596f7daae 100644 --- a/fs/f2fs/checkpoint.c +++ b/fs/f2fs/checkpoint.c @@ -237,12 +237,15 @@ static int __f2fs_write_meta_page(struct page *page, trace_f2fs_writepage(page, META); + if (unlikely(f2fs_cp_error(sbi))) { + dec_page_count(sbi, F2FS_DIRTY_META); + unlock_page(page); + return 0; + } if (unlikely(is_sbi_flag_set(sbi, SBI_POR_DOING))) goto redirty_out; if (wbc->for_reclaim && page->index < GET_SUM_BLOCK(sbi, 0)) goto redirty_out; - if (unlikely(f2fs_cp_error(sbi))) - goto redirty_out; write_meta_page(sbi, page, io_type); dec_page_count(sbi, F2FS_DIRTY_META); |