diff options
-rw-r--r-- | drivers/xen/balloon.c | 3 |
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); |