提交 c5051c7b 编写于 作者: D David Howells

afs: Don't wait for page writeback with the page lock held

Drop the page lock before waiting for page writeback.
Signed-off-by: NDavid Howells <dhowells@redhat.com>
上级 65a15109
...@@ -518,17 +518,16 @@ static int afs_writepages_region(struct address_space *mapping, ...@@ -518,17 +518,16 @@ static int afs_writepages_region(struct address_space *mapping,
*/ */
lock_page(page); lock_page(page);
if (page->mapping != mapping) { if (page->mapping != mapping || !PageDirty(page)) {
unlock_page(page); unlock_page(page);
put_page(page); put_page(page);
continue; continue;
} }
if (wbc->sync_mode != WB_SYNC_NONE) if (PageWriteback(page)) {
wait_on_page_writeback(page);
if (PageWriteback(page) || !PageDirty(page)) {
unlock_page(page); unlock_page(page);
if (wbc->sync_mode != WB_SYNC_NONE)
wait_on_page_writeback(page);
put_page(page); put_page(page);
continue; continue;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册