@@ -1627,8 +1627,18 @@ static int do_pages_move(struct mm_struct *mm, nodemask_t task_nodes, start = i; } else if (node != current_node) { err = do_move_pages_to_node(mm, &pagelist, current_node);
if (err)
if (err) {
/*
* Possitive err means the number of failed
"positive"
* pages to migrate. Since we are going to
* abort and return the number of non-migrated
* pages, so need incude the rest of the
"need to include"
* nr_pages that have not attempted as well.
"have not been attempted"
@@ -1674,6 +1687,13 @@ static int do_pages_move(struct mm_struct *mm, nodemask_t task_nodes, /* Make sure we do not overwrite the existing error */ err1 = do_move_pages_to_node(mm, &pagelist, current_node);
- /*
* Don't have to report non-attempted pages here since:
* - If the above loop is done gracefully there is not non-attempted
"all pages have been attempted"
* page.
* - If the above loop is aborted to it means more fatal error
s/to// s/more/a/
* happened, should return err.
*/
I'd also be tempted to rename "err" to "ret" since it has meanings beyond "error" now.