From patchwork Wed May 8 02:12:59 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qiao Nuohan X-Patchwork-Id: 243254 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 554872C00A9 for ; Mon, 13 May 2013 13:06:48 +1000 (EST) Received: from localhost ([::1]:54034 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubj66-0007Ws-GZ for incoming@patchwork.ozlabs.org; Sun, 12 May 2013 23:06:46 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60624) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubj2O-0001tb-IS for qemu-devel@nongnu.org; Sun, 12 May 2013 23:03:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ubj2K-0006As-B1 for qemu-devel@nongnu.org; Sun, 12 May 2013 23:02:56 -0400 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:46894) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubj2J-0006AX-Px for qemu-devel@nongnu.org; Sun, 12 May 2013 23:02:52 -0400 Received: from m3.gw.fujitsu.co.jp (unknown [10.0.50.73]) by fgwmail5.fujitsu.co.jp (Postfix) with ESMTP id 4D8383EE0BD for ; Mon, 13 May 2013 12:02:50 +0900 (JST) Received: from smail (m3 [127.0.0.1]) by outgoing.m3.gw.fujitsu.co.jp (Postfix) with ESMTP id 3EB6145DEB2 for ; Mon, 13 May 2013 12:02:50 +0900 (JST) Received: from s3.gw.fujitsu.co.jp (s3.gw.fujitsu.co.jp [10.0.50.93]) by m3.gw.fujitsu.co.jp (Postfix) with ESMTP id 2616945DEB6 for ; Mon, 13 May 2013 12:02:50 +0900 (JST) Received: from s3.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s3.gw.fujitsu.co.jp (Postfix) with ESMTP id 164481DB803F for ; Mon, 13 May 2013 12:02:50 +0900 (JST) Received: from s00.fujitsu.com (s00.gw.fujitsu.co.jp [133.161.11.15]) by s3.gw.fujitsu.co.jp (Postfix) with ESMTP id A3805E08006 for ; Mon, 13 May 2013 12:02:49 +0900 (JST) Received: from s00.gw.fujitsu.co.jp (localhost [127.0.0.1]) by s00.fujitsu.com (Postfix) with ESMTP id B5046AC37D for ; Mon, 13 May 2013 12:02:46 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.120]) by s00.fujitsu.com (Postfix) with ESMTP id 0AB8CAC383 for ; Mon, 13 May 2013 12:01:28 +0900 (JST) Received: by localhost.localdomain (Postfix, from userid 0) id 0C6B6E231F; Wed, 8 May 2013 10:13:46 +0800 (CST) From: qiaonuohan@cn.fujitsu.com To: qemu-devel@nongnu.org Date: Wed, 8 May 2013 10:12:59 +0800 Message-Id: <1367979181-24679-8-git-send-email-qiaonuohan@cn.fujitsu.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1367979181-24679-1-git-send-email-qiaonuohan@cn.fujitsu.com> References: <1367979181-24679-1-git-send-email-qiaonuohan@cn.fujitsu.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 192.51.44.35 Cc: Qiao Nuohan , d.hatayama@jp.fujitsu.com, zhangxh@cn.fujitsu.com, anderson@redhat.com, kumagai-atsushi@mxc.nes.nec.co.jp, afaerber@suse.de Subject: [Qemu-devel] [PATCH 7/9 v2] Add API to free buf used by creating header, bitmap and page X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Qiao Nuohan When calling create_header, create_dump_bitmap and create_pages, some memory spaces are allocated. The following patch will use this function to free these spaces. Signed-off-by: Qiao Nuohan Reviewed-by: Zhang Xiaohe --- dump.c | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/dump.c b/dump.c index ebfb190..75ef032 100644 --- a/dump.c +++ b/dump.c @@ -1252,6 +1252,25 @@ cleanup: return -1; } +static void clean_state(DumpState *s) +{ + if (s->dh) { + g_free(s->dh); + } + + if (s->kh) { + g_free(s->kh); + } + + free_dump_bitmap(s->dump_bitmap1); + + free_dump_bitmap(s->dump_bitmap2); + + free_cache_data(s->page_desc); + + free_cache_data(s->page_data); +} + void qmp_dump_guest_memory(bool paging, const char *file, bool has_begin, int64_t begin, bool has_length, int64_t length, Error **errp)