summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/xen/balloon.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index d107447c47de..39b229f9e256 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -380,6 +380,7 @@ static void xen_online_page(struct page *page, unsigned int order)
380 for (i = 0; i < size; i++) { 380 for (i = 0; i < size; i++) {
381 p = pfn_to_page(start_pfn + i); 381 p = pfn_to_page(start_pfn + i);
382 __online_page_set_limits(p); 382 __online_page_set_limits(p);
383 __SetPageOffline(p);
383 __balloon_append(p); 384 __balloon_append(p);
384 } 385 }
385 mutex_unlock(&balloon_mutex); 386 mutex_unlock(&balloon_mutex);
@@ -446,6 +447,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
446 xenmem_reservation_va_mapping_update(1, &page, &frame_list[i]); 447 xenmem_reservation_va_mapping_update(1, &page, &frame_list[i]);
447 448
448 /* Relinquish the page back to the allocator. */ 449 /* Relinquish the page back to the allocator. */
450 __ClearPageOffline(page);
449 free_reserved_page(page); 451 free_reserved_page(page);
450 } 452 }
451 453
@@ -472,6 +474,7 @@ static enum bp_state decrease_reservation(unsigned long nr_pages, gfp_t gfp)
472 state = BP_EAGAIN; 474 state = BP_EAGAIN;
473 break; 475 break;
474 } 476 }
477 __SetPageOffline(page);
475 adjust_managed_page_count(page, -1); 478 adjust_managed_page_count(page, -1);
476 xenmem_reservation_scrub_page(page); 479 xenmem_reservation_scrub_page(page);
477 list_add(&page->lru, &pages); 480 list_add(&page->lru, &pages);