From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH] fs-backend: fix gnttab unmap Date: Thu, 19 Mar 2009 16:58:50 +0000 Message-ID: <49C279CA.1000004@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel List-Id: xen-devel@lists.xenproject.org Hi all, when a stubdom is destroyed, fs-backend does not correctly unmap all the pages mapped for the shared ring. This causes some pages not to be properly freed by xen, hence after a cycle of 50 save\restore we don't have enough spare memory to start 2 VMs any more. This patch fixes the issue properly unmapping all the pages needed by the shared ring. Signed-off-by: Stefano Stabellini --- diff -r 633e08774dab tools/fs-back/fs-backend.c --- a/tools/fs-back/fs-backend.c Thu Mar 19 14:01:56 2009 +0000 +++ b/tools/fs-back/fs-backend.c Thu Mar 19 16:33:34 2009 +0000 @@ -161,7 +161,7 @@ while (!xenbus_frontend_state_changed(mount, STATE_CLOSING)); xenbus_write_backend_state(mount, STATE_CLOSED); - xc_gnttab_munmap(mount->gnth, mount->ring.sring, 1); + xc_gnttab_munmap(mount->gnth, mount->ring.sring, mount->shared_ring_size); xc_gnttab_close(mount->gnth); xc_evtchn_unbind(mount->evth, mount->local_evtchn); xc_evtchn_close(mount->evth);