f2fs: drop dirty node pages when cp is in error status

Otherwise, writeback is going to fall in a loop to flush dirty inode forever
before getting SBI_CLOSING.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Jaegeuk Kim 2021-07-06 22:05:06 -07:00
Родитель c9ebd3df43
Коммит 28607bf3aa
1 изменённых файлов: 4 добавлений и 7 удалений

Просмотреть файл

@ -1549,13 +1549,10 @@ static int __write_node_page(struct page *page, bool atomic, bool *submitted,
trace_f2fs_writepage(page, NODE); trace_f2fs_writepage(page, NODE);
if (unlikely(f2fs_cp_error(sbi))) { if (unlikely(f2fs_cp_error(sbi))) {
if (is_sbi_flag_set(sbi, SBI_IS_CLOSE)) { ClearPageUptodate(page);
ClearPageUptodate(page); dec_page_count(sbi, F2FS_DIRTY_NODES);
dec_page_count(sbi, F2FS_DIRTY_NODES); unlock_page(page);
unlock_page(page); return 0;
return 0;
}
goto redirty_out;
} }
if (unlikely(is_sbi_flag_set(sbi, SBI_POR_DOING))) if (unlikely(is_sbi_flag_set(sbi, SBI_POR_DOING)))