X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=mm%2Frmap.c;h=59da5b734c801c6186621fa5dabf94108268fd51;hb=0d08e0d3a97cce22ebf80b54785e00d9b94e1add;hp=b82146e6dfc9d0e12f15c7cf292893ab6ede43f3;hpb=ef2e58ea6b9931c3a4816c66593da49bb20e3b24;p=powerpc.git diff --git a/mm/rmap.c b/mm/rmap.c index b82146e6df..59da5b734c 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -498,8 +498,10 @@ int page_mkclean(struct page *page) struct address_space *mapping = page_mapping(page); if (mapping) ret = page_mkclean_file(mapping, page); - if (page_test_and_clear_dirty(page)) + if (page_test_dirty(page)) { + page_clear_dirty(page); ret = 1; + } } return ret; @@ -605,8 +607,10 @@ void page_remove_rmap(struct page *page, struct vm_area_struct *vma) * Leaving it set also helps swapoff to reinstate ptes * faster for those pages still in swapcache. */ - if (page_test_and_clear_dirty(page)) + if (page_test_dirty(page)) { + page_clear_dirty(page); set_page_dirty(page); + } __dec_zone_page_state(page, PageAnon(page) ? NR_ANON_PAGES : NR_FILE_MAPPED); }