diff options
| -rw-r--r-- | drivers/xen/balloon.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index 39b229f9e256..d37dd5bb7a8f 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c | |||
| @@ -604,6 +604,7 @@ int alloc_xenballooned_pages(int nr_pages, struct page **pages) | |||
| 604 | while (pgno < nr_pages) { | 604 | while (pgno < nr_pages) { |
| 605 | page = balloon_retrieve(true); | 605 | page = balloon_retrieve(true); |
| 606 | if (page) { | 606 | if (page) { |
| 607 | __ClearPageOffline(page); | ||
| 607 | pages[pgno++] = page; | 608 | pages[pgno++] = page; |
| 608 | #ifdef CONFIG_XEN_HAVE_PVMMU | 609 | #ifdef CONFIG_XEN_HAVE_PVMMU |
| 609 | /* | 610 | /* |
| @@ -645,8 +646,10 @@ void free_xenballooned_pages(int nr_pages, struct page **pages) | |||
| 645 | mutex_lock(&balloon_mutex); | 646 | mutex_lock(&balloon_mutex); |
| 646 | 647 | ||
| 647 | for (i = 0; i < nr_pages; i++) { | 648 | for (i = 0; i < nr_pages; i++) { |
| 648 | if (pages[i]) | 649 | if (pages[i]) { |
| 650 | __SetPageOffline(pages[i]); | ||
| 649 | balloon_append(pages[i]); | 651 | balloon_append(pages[i]); |
| 652 | } | ||
| 650 | } | 653 | } |
| 651 | 654 | ||
| 652 | balloon_stats.target_unpopulated -= nr_pages; | 655 | balloon_stats.target_unpopulated -= nr_pages; |
