]> Pileus Git - ~andy/linux/blobdiff - mm/migrate.c
Merge branch 'drm-core-next' of ../linux-2.6 into drm-next
[~andy/linux] / mm / migrate.c
index e97e513fe898d5ae1c30d79f034009e8de25a974..1a4bf4813780eb700ee026030bca18fedc2fbae6 100644 (file)
@@ -272,7 +272,7 @@ static int migrate_page_move_mapping(struct address_space *mapping,
        pslot = radix_tree_lookup_slot(&mapping->page_tree,
                                        page_index(page));
 
-       expected_count = 2 + !!page_has_private(page);
+       expected_count = 2 + page_has_private(page);
        if (page_count(page) != expected_count ||
                        (struct page *)radix_tree_deref_slot(pslot) != page) {
                spin_unlock_irq(&mapping->tree_lock);
@@ -675,7 +675,7 @@ static int unmap_and_move(new_page_t get_new_page, unsigned long private,
        }
 
        /* Establish migration ptes or remove ptes */
-       try_to_unmap(page, 1);
+       try_to_unmap(page, TTU_MIGRATION|TTU_IGNORE_MLOCK|TTU_IGNORE_ACCESS);
 
 skip_unmap:
        if (!page_mapped(page))