f2fs: use wait_for_stable_page to avoid contention
In write_begin, if storage supports stable_page, we don't need to wait for writeback to update its contents. This patch introduces to use wait_for_stable_page instead of wait_on_page_writeback. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
@@ -255,7 +255,7 @@ void set_data_blkaddr(struct dnode_of_data *dn)
|
||||
struct page *node_page = dn->node_page;
|
||||
unsigned int ofs_in_node = dn->ofs_in_node;
|
||||
|
||||
f2fs_wait_on_page_writeback(node_page, NODE);
|
||||
f2fs_wait_on_page_writeback(node_page, NODE, true);
|
||||
|
||||
rn = F2FS_NODE(node_page);
|
||||
|
||||
@@ -1319,7 +1319,8 @@ continue_unlock:
|
||||
|
||||
if (PageWriteback(page)) {
|
||||
if (wbc->sync_mode != WB_SYNC_NONE)
|
||||
f2fs_wait_on_page_writeback(page, DATA);
|
||||
f2fs_wait_on_page_writeback(page,
|
||||
DATA, true);
|
||||
else
|
||||
goto continue_unlock;
|
||||
}
|
||||
@@ -1547,7 +1548,7 @@ repeat:
|
||||
}
|
||||
}
|
||||
|
||||
f2fs_wait_on_page_writeback(page, DATA);
|
||||
f2fs_wait_on_page_writeback(page, DATA, false);
|
||||
|
||||
/* wait for GCed encrypted page writeback */
|
||||
if (f2fs_encrypted_inode(inode) && S_ISREG(inode->i_mode))
|
||||
|
Reference in New Issue
Block a user