Comment 59 for bug 1304001

Revision history for this message
David Vrabel (david-vrabel) wrote :

Can you try this patch?

8<----------------------
xen/balloon: cancel ballooning if adding new memory failed

If the balloon driver is adding additional memory regions to the
balloon and add_memory() fails it will likely continuously fail so
cancel the balloon operation.

Signed-off-by: David Vrabel <email address hidden>
---
 drivers/xen/balloon.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 5c660c7..45aca60 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -230,8 +230,8 @@ static enum bp_state reserve_additional_memory(long credit)
  rc = add_memory(nid, hotplug_start_paddr, balloon_hotplug << PAGE_SHIFT);

  if (rc) {
- pr_info("%s: add_memory() failed: %i\n", __func__, rc);
- return BP_EAGAIN;
+ pr_info("cannot add additional memory (%i)\n", rc);
+ return BP_ECANCELED;
  }

  balloon_hotplug -= credit;
--
1.7.10.4