提交 92132021 编写于 作者: D David Chinner 提交者: Linus Torvalds

[PATCH] Fix XFS after clear_page_dirty() removal

XFS appears to call clear_page_dirty to get the mapping tree dirty tag
set correctly at the same time the page dirty flag is cleared.  I note
that this can be done by set_page_writeback() if we clear the dirty flag
on the page first when we are writing back the entire page.

Hence it seems to me that the XFS call to clear_page_dirty() could
easily be substituted by clear_page_dirty_for_io() followed by a call to
set_page_writeback() to get the mapping tree tags set correctly after
the page has been marked clean.
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 9280f682
...@@ -341,9 +341,9 @@ xfs_start_page_writeback( ...@@ -341,9 +341,9 @@ xfs_start_page_writeback(
{ {
ASSERT(PageLocked(page)); ASSERT(PageLocked(page));
ASSERT(!PageWriteback(page)); ASSERT(!PageWriteback(page));
set_page_writeback(page);
if (clear_dirty) if (clear_dirty)
clear_page_dirty(page); clear_page_dirty_for_io(page);
set_page_writeback(page);
unlock_page(page); unlock_page(page);
if (!buffers) { if (!buffers) {
end_page_writeback(page); end_page_writeback(page);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册