From 3794fd933e236bc0048d0415445bd1161c4e12d6 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Thu, 14 Feb 2013 11:12:09 +0100 Subject: [PATCH] --- yaml --- r: 359543 b: refs/heads/master c: 087ffecdaa1875cc683a7a5bc0695b3ebfce3bad h: refs/heads/master i: 359541: f7226eaae8eddd647b6338af03cab6f1b15c9f9b 359539: 3e45b8855fbd0b936191b290297891db91311a3b 359535: b4b15888dba8991669ad4c1538fe031a808019f1 v: v3 --- [refs] | 2 +- trunk/drivers/block/xen-blkback/blkback.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 7063c1612efc..9bb56facdc16 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f84adf4921ae3115502f44ff467b04bf2f88cf04 +refs/heads/master: 087ffecdaa1875cc683a7a5bc0695b3ebfce3bad diff --git a/trunk/drivers/block/xen-blkback/blkback.c b/trunk/drivers/block/xen-blkback/blkback.c index 1966a7cfd8ce..de1f319f7bd7 100644 --- a/trunk/drivers/block/xen-blkback/blkback.c +++ b/trunk/drivers/block/xen-blkback/blkback.c @@ -46,6 +46,7 @@ #include #include #include +#include #include "common.h" /* @@ -239,6 +240,7 @@ static void free_persistent_gnts(struct rb_root *root, unsigned int num) ret = gnttab_unmap_refs(unmap, NULL, pages, segs_to_unmap); BUG_ON(ret); + free_xenballooned_pages(segs_to_unmap, pages); segs_to_unmap = 0; } @@ -527,8 +529,8 @@ static int xen_blkbk_map(struct blkif_request *req, GFP_KERNEL); if (!persistent_gnt) return -ENOMEM; - persistent_gnt->page = alloc_page(GFP_KERNEL); - if (!persistent_gnt->page) { + if (alloc_xenballooned_pages(1, &persistent_gnt->page, + false)) { kfree(persistent_gnt); return -ENOMEM; }