From patchwork Fri Dec 14 04:08:36 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: liguang X-Patchwork-Id: 206289 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 81F092C00A7 for ; Fri, 14 Dec 2012 15:11:42 +1100 (EST) Received: from localhost ([::1]:48510 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TjMce-0002jO-Hv for incoming@patchwork.ozlabs.org; Thu, 13 Dec 2012 23:11:40 -0500 Received: from eggs.gnu.org ([208.118.235.92]:46761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TjMcS-0002jE-S5 for qemu-devel@nongnu.org; Thu, 13 Dec 2012 23:11:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TjMcR-0007CA-SH for qemu-devel@nongnu.org; Thu, 13 Dec 2012 23:11:28 -0500 Received: from [222.73.24.84] (port=43684 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TjMcR-0007BE-IT for qemu-devel@nongnu.org; Thu, 13 Dec 2012 23:11:27 -0500 X-IronPort-AV: E=Sophos;i="4.84,278,1355068800"; d="scan'208";a="6395399" Received: from unknown (HELO tang.cn.fujitsu.com) ([10.167.250.3]) by song.cn.fujitsu.com with ESMTP; 14 Dec 2012 12:09:30 +0800 Received: from fnstmail02.fnst.cn.fujitsu.com (tang.cn.fujitsu.com [127.0.0.1]) by tang.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id qBE4BsGX017211; Fri, 14 Dec 2012 12:11:57 +0800 Received: from liguang.fnst.cn.fujitsu.com ([10.167.225.128]) by fnstmail02.fnst.cn.fujitsu.com (Lotus Domino Release 8.5.3) with ESMTP id 2012121412102826-417638 ; Fri, 14 Dec 2012 12:10:28 +0800 From: liguang To: kwolf@redhat.com, stefanha@redhat.com, armbru@redhat.com, imammedo@redhat.com, qemu-devel@nongnu.org Date: Fri, 14 Dec 2012 12:08:36 +0800 Message-Id: <1355458116-5692-2-git-send-email-lig.fnst@cn.fujitsu.com> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1355458116-5692-1-git-send-email-lig.fnst@cn.fujitsu.com> References: <1355458116-5692-1-git-send-email-lig.fnst@cn.fujitsu.com> X-MIMETrack: Itemize by SMTP Server on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2012/12/14 12:10:28, Serialize by Router on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2012/12/14 12:10:29, Serialize complete at 2012/12/14 12:10:29 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 222.73.24.84 Cc: liguang Subject: [Qemu-devel] [PATCH 2/2] qemu-img:report size overflow error message 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 qemu-img will complain when qcow or qcow2 size overflow for 64 bits, report the right message in this condition. before change: qemu-img: Invalid image size specified! You may use k, M, G or T suffixes for qemu-img: kilobytes, megabytes, gigabytes and terabytes. after change: qemu-img: Image size must be less than 8 exabytes! Signed-off-by: liguang --- qemu-img.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index e29e01b..1c3af67 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -346,13 +346,18 @@ static int img_create(int argc, char **argv) int64_t sval; char *end; sval = strtosz_suffix(argv[optind++], &end, STRTOSZ_DEFSUFFIX_B); - if (sval < 0 || *end) { + if (sval == EINVAL || *end) { error_report("Invalid image size specified! You may use k, M, G or " "T suffixes for "); error_report("kilobytes, megabytes, gigabytes and terabytes."); ret = -1; goto out; } + if (sval == ERANGE) { + error_report("Image size must be less than 8 exabytes!"); + ret = -1; + goto out; + } img_size = (uint64_t)sval; }