|
@@ -667,7 +667,8 @@ void page_remove_rmap(struct page *page, struct vm_area_struct *vma)
|
|
* Leaving it set also helps swapoff to reinstate ptes
|
|
* Leaving it set also helps swapoff to reinstate ptes
|
|
* faster for those pages still in swapcache.
|
|
* faster for those pages still in swapcache.
|
|
*/
|
|
*/
|
|
- if (page_test_dirty(page)) {
|
|
|
|
|
|
+ if ((!PageAnon(page) || PageSwapCache(page)) &&
|
|
|
|
+ page_test_dirty(page)) {
|
|
page_clear_dirty(page);
|
|
page_clear_dirty(page);
|
|
set_page_dirty(page);
|
|
set_page_dirty(page);
|
|
}
|
|
}
|