mm: do_migrate_range: exit loop if not_managed is true
[linux-2.6-block.git] / mm / memory_hotplug.c
index bb63b36c4413584daa711e5268aa2bf644ec7b09..e4af144ee409e904c3f1bec9bf73913de339b7b9 100644 (file)
@@ -696,15 +696,17 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
                                            page_is_file_cache(page));
 
                } else {
-                       /* Becasue we don't have big zone->lock. we should
-                          check this again here. */
-                       if (page_count(page))
-                               not_managed++;
 #ifdef CONFIG_DEBUG_VM
                        printk(KERN_ALERT "removing pfn %lx from LRU failed\n",
                               pfn);
                        dump_page(page);
 #endif
+                       /* Becasue we don't have big zone->lock. we should
+                          check this again here. */
+                       if (page_count(page)) {
+                               not_managed++;
+                               break;
+                       }
                }
        }
        ret = -EBUSY;