f2fs: write node pages if checkpoint is not doing
It needs to write node pages if checkpoint is not doing in order to avoid memory pressure. Reviewed-by: Changman Lee <cm224.lee@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Родитель
e5e7ea3c86
Коммит
2f97c326bf
|
@ -1314,10 +1314,12 @@ static int f2fs_write_node_page(struct page *page,
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (wbc->for_reclaim)
|
||||
goto redirty_out;
|
||||
|
||||
down_read(&sbi->node_write);
|
||||
if (wbc->for_reclaim) {
|
||||
if (!down_read_trylock(&sbi->node_write))
|
||||
goto redirty_out;
|
||||
} else {
|
||||
down_read(&sbi->node_write);
|
||||
}
|
||||
set_page_writeback(page);
|
||||
write_node_page(sbi, page, &fio, nid, ni.blk_addr, &new_addr);
|
||||
set_node_addr(sbi, &ni, new_addr, is_fsync_dnode(page));
|
||||
|
|
Загрузка…
Ссылка в новой задаче