From patchwork Tue Sep 9 05:27:59 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hu Tao X-Patchwork-Id: 387139 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id B163B1400D6 for ; Tue, 9 Sep 2014 15:35:05 +1000 (EST) Received: from localhost ([::1]:47080 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRE51-0002JK-Hp for incoming@patchwork.ozlabs.org; Tue, 09 Sep 2014 01:35:03 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47089) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRE2Q-00066G-GK for qemu-devel@nongnu.org; Tue, 09 Sep 2014 01:32:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XRE2L-0006FC-Tf for qemu-devel@nongnu.org; Tue, 09 Sep 2014 01:32:22 -0400 Received: from [59.151.112.132] (port=8094 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRE2L-0006EG-IE for qemu-devel@nongnu.org; Tue, 09 Sep 2014 01:32:17 -0400 X-IronPort-AV: E=Sophos;i="5.04,490,1406563200"; d="scan'208";a="35676807" Received: from localhost (HELO edo.cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 09 Sep 2014 13:29:19 +0800 Received: from G08CNEXCHPEKD03.g08.fujitsu.local (localhost.localdomain [127.0.0.1]) by edo.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id s895WQwv032456; Tue, 9 Sep 2014 13:32:26 +0800 Received: from G08FNSTD100614.fnst.cn.fujitsu.com (10.167.226.102) by G08CNEXCHPEKD03.g08.fujitsu.local (10.167.33.89) with Microsoft SMTP Server (TLS) id 14.3.181.6; Tue, 9 Sep 2014 13:32:08 +0800 From: Hu Tao To: Date: Tue, 9 Sep 2014 13:27:59 +0800 Message-ID: X-Mailer: git-send-email 1.9.3 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [10.167.226.102] X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 59.151.112.132 Cc: Peter Crosthwaite , "Michael S. Tsirkin" , Yasuaki Isimatu , Paolo Bonzini , Yasunori Goto Subject: [Qemu-devel] [PATCH v7 RESEND 6/8] exec: file_ram_alloc: don't exit if failed to preallocate memory 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 When using monitor command object_add to add a memory backend file but failed to preallocate memory for it, qemu exits silently. In the case we'd better give an error message and keep guest running. The problem can be reproduced as follows: 1. run qemu with -mem-prealloc 2. (monitor)object_add memory-backend-file,size=100000G,mem-path=/hugepages,id=mem-file0 Signed-off-by: Hu Tao --- exec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exec.c b/exec.c index 2b9c4c5..0362cd8 100644 --- a/exec.c +++ b/exec.c @@ -1129,8 +1129,8 @@ static void *file_ram_alloc(RAMBlock *block, return area; error: - if (mem_prealloc) { - exit(1); + if (area && area != MAP_FAILED) { + munmap(area, memory); } return NULL; }