|
@@ -276,7 +276,7 @@ static int migrate_page_move_mapping(struct address_space *mapping,
|
|
|
/* Anonymous page without mapping */
|
|
|
if (page_count(page) != 1)
|
|
|
return -EAGAIN;
|
|
|
- return 0;
|
|
|
+ return MIGRATEPAGE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
spin_lock_irq(&mapping->tree_lock);
|
|
@@ -346,7 +346,7 @@ static int migrate_page_move_mapping(struct address_space *mapping,
|
|
|
}
|
|
|
spin_unlock_irq(&mapping->tree_lock);
|
|
|
|
|
|
- return 0;
|
|
|
+ return MIGRATEPAGE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -362,7 +362,7 @@ int migrate_huge_page_move_mapping(struct address_space *mapping,
|
|
|
if (!mapping) {
|
|
|
if (page_count(page) != 1)
|
|
|
return -EAGAIN;
|
|
|
- return 0;
|
|
|
+ return MIGRATEPAGE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
spin_lock_irq(&mapping->tree_lock);
|
|
@@ -389,7 +389,7 @@ int migrate_huge_page_move_mapping(struct address_space *mapping,
|
|
|
page_unfreeze_refs(page, expected_count - 1);
|
|
|
|
|
|
spin_unlock_irq(&mapping->tree_lock);
|
|
|
- return 0;
|
|
|
+ return MIGRATEPAGE_SUCCESS;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -476,11 +476,11 @@ int migrate_page(struct address_space *mapping,
|
|
|
|
|
|
rc = migrate_page_move_mapping(mapping, newpage, page, NULL, mode);
|
|
|
|
|
|
- if (rc)
|
|
|
+ if (rc != MIGRATEPAGE_SUCCESS)
|
|
|
return rc;
|
|
|
|
|
|
migrate_page_copy(newpage, page);
|
|
|
- return 0;
|
|
|
+ return MIGRATEPAGE_SUCCESS;
|
|
|
}
|
|
|
EXPORT_SYMBOL(migrate_page);
|
|
|
|
|
@@ -503,7 +503,7 @@ int buffer_migrate_page(struct address_space *mapping,
|
|
|
|
|
|
rc = migrate_page_move_mapping(mapping, newpage, page, head, mode);
|
|
|
|
|
|
- if (rc)
|
|
|
+ if (rc != MIGRATEPAGE_SUCCESS)
|
|
|
return rc;
|
|
|
|
|
|
/*
|
|
@@ -539,7 +539,7 @@ int buffer_migrate_page(struct address_space *mapping,
|
|
|
|
|
|
} while (bh != head);
|
|
|
|
|
|
- return 0;
|
|
|
+ return MIGRATEPAGE_SUCCESS;
|
|
|
}
|
|
|
EXPORT_SYMBOL(buffer_migrate_page);
|
|
|
#endif
|
|
@@ -618,7 +618,7 @@ static int fallback_migrate_page(struct address_space *mapping,
|
|
|
*
|
|
|
* Return value:
|
|
|
* < 0 - error code
|
|
|
- * == 0 - success
|
|
|
+ * MIGRATEPAGE_SUCCESS - success
|
|
|
*/
|
|
|
static int move_to_new_page(struct page *newpage, struct page *page,
|
|
|
int remap_swapcache, enum migrate_mode mode)
|
|
@@ -655,7 +655,7 @@ static int move_to_new_page(struct page *newpage, struct page *page,
|
|
|
else
|
|
|
rc = fallback_migrate_page(mapping, newpage, page, mode);
|
|
|
|
|
|
- if (rc) {
|
|
|
+ if (rc != MIGRATEPAGE_SUCCESS) {
|
|
|
newpage->mapping = NULL;
|
|
|
} else {
|
|
|
if (remap_swapcache)
|
|
@@ -804,7 +804,7 @@ skip_unmap:
|
|
|
put_anon_vma(anon_vma);
|
|
|
|
|
|
uncharge:
|
|
|
- mem_cgroup_end_migration(mem, page, newpage, rc == 0);
|
|
|
+ mem_cgroup_end_migration(mem, page, newpage, rc == MIGRATEPAGE_SUCCESS);
|
|
|
unlock:
|
|
|
unlock_page(page);
|
|
|
out:
|
|
@@ -977,7 +977,7 @@ int migrate_pages(struct list_head *from,
|
|
|
case -EAGAIN:
|
|
|
retry++;
|
|
|
break;
|
|
|
- case 0:
|
|
|
+ case MIGRATEPAGE_SUCCESS:
|
|
|
break;
|
|
|
default:
|
|
|
/* Permanent failure */
|
|
@@ -986,15 +986,12 @@ int migrate_pages(struct list_head *from,
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- rc = 0;
|
|
|
+ rc = nr_failed + retry;
|
|
|
out:
|
|
|
if (!swapwrite)
|
|
|
current->flags &= ~PF_SWAPWRITE;
|
|
|
|
|
|
- if (rc)
|
|
|
- return rc;
|
|
|
-
|
|
|
- return nr_failed + retry;
|
|
|
+ return rc;
|
|
|
}
|
|
|
|
|
|
int migrate_huge_page(struct page *hpage, new_page_t get_new_page,
|
|
@@ -1014,7 +1011,7 @@ int migrate_huge_page(struct page *hpage, new_page_t get_new_page,
|
|
|
/* try again */
|
|
|
cond_resched();
|
|
|
break;
|
|
|
- case 0:
|
|
|
+ case MIGRATEPAGE_SUCCESS:
|
|
|
goto out;
|
|
|
default:
|
|
|
rc = -EIO;
|