diff options
Diffstat (limited to 'mm/migrate.c')
-rw-r--r-- | mm/migrate.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/migrate.c b/mm/migrate.c index ab81d482ae6f..be26d5cbe56b 100644 --- a/mm/migrate.c +++ b/mm/migrate.c | |||
@@ -436,7 +436,10 @@ void migrate_page_copy(struct page *newpage, struct page *page) | |||
436 | * is actually a signal that all of the page has become dirty. | 436 | * is actually a signal that all of the page has become dirty. |
437 | * Whereas only part of our page may be dirty. | 437 | * Whereas only part of our page may be dirty. |
438 | */ | 438 | */ |
439 | __set_page_dirty_nobuffers(newpage); | 439 | if (PageSwapBacked(page)) |
440 | SetPageDirty(newpage); | ||
441 | else | ||
442 | __set_page_dirty_nobuffers(newpage); | ||
440 | } | 443 | } |
441 | 444 | ||
442 | mlock_migrate_page(newpage, page); | 445 | mlock_migrate_page(newpage, page); |