From 9c1dc4970647441454945fc91a1dfb9da67cf887 Mon Sep 17 00:00:00 2001 From: Hugh Dickins Date: Sat, 2 Jun 2012 00:27:47 -0700 Subject: [PATCH] --- yaml --- r: 310430 b: refs/heads/master c: 752dc185dacba1edcba425e67fc6df3c7793a5c3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/migrate.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f394d2b2842b..8a4926e56c4e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2f9d3df8aa1cc3c6db5cfa0bad3f0745e04cc27d +refs/heads/master: 752dc185dacba1edcba425e67fc6df3c7793a5c3 diff --git a/trunk/mm/migrate.c b/trunk/mm/migrate.c index ab81d482ae6f..be26d5cbe56b 100644 --- a/trunk/mm/migrate.c +++ b/trunk/mm/migrate.c @@ -436,7 +436,10 @@ void migrate_page_copy(struct page *newpage, struct page *page) * is actually a signal that all of the page has become dirty. * Whereas only part of our page may be dirty. */ - __set_page_dirty_nobuffers(newpage); + if (PageSwapBacked(page)) + SetPageDirty(newpage); + else + __set_page_dirty_nobuffers(newpage); } mlock_migrate_page(newpage, page);