From nobody Sun May 5 10:09:03 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@gnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1506687545604181.87808520797546; Fri, 29 Sep 2017 05:19:05 -0700 (PDT) Received: from localhost ([::1]:35162 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxuFk-0000mU-KJ for importer@patchew.org; Fri, 29 Sep 2017 08:18:48 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37696) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxuE3-0008Hd-Ib for qemu-devel@nongnu.org; Fri, 29 Sep 2017 08:17:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxuE2-0008Tz-Iz for qemu-devel@nongnu.org; Fri, 29 Sep 2017 08:17:03 -0400 Received: from mail-eopbgr20126.outbound.protection.outlook.com ([40.107.2.126]:7371 helo=EUR02-VE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dxuDy-0008Rp-7K; Fri, 29 Sep 2017 08:16:58 -0400 Received: from pavelb-Z68P-DS3.sw.ru (195.214.232.6) by AM5PR0802MB2548.eurprd08.prod.outlook.com (2603:10a6:203:a1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Fri, 29 Sep 2017 12:16:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Z7CiFeD+nt7m9Z/0xBrm2zSlhqEP6ubfl7fOGSrl9SM=; b=cWbCkU9TdruOSJhKuHln0xoQD/viyhd4MlwSeewfwJ8A+gBjv+jYRV8BRj4pQEWiqwlk7zD64Uoxko/5F1ENUXy6WemF6189t/3qOhfLLPgtiZ3KJR/q5cNmZSRREhqQN1YSAzQ7aGR6XgbMHrMRxA8NToQufSFVk8K9rcN1YKU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=pbutsykin@virtuozzo.com; From: Pavel Butsykin To: qemu-block@nongnu.org, qemu-devel@nongnu.org Date: Fri, 29 Sep 2017 15:16:12 +0300 Message-Id: <20170929121613.25997-2-pbutsykin@virtuozzo.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170929121613.25997-1-pbutsykin@virtuozzo.com> References: <20170929121613.25997-1-pbutsykin@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: AM5P194CA0010.EURP194.PROD.OUTLOOK.COM (2603:10a6:203:8f::20) To AM5PR0802MB2548.eurprd08.prod.outlook.com (2603:10a6:203:a1::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bb9f0277-4a63-47f0-03c6-08d50733f945 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:AM5PR0802MB2548; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2548; 3:PH0dOYgyEiXCWNlr2aFit6AArSTiB2Gi6tOh3CEkVwxQuf7jTor+e3b1X5wS7nuRlhXJX9ra5rnsqY0jC18fNnVh8LD0xbNkURZ5KOrE9swpMOwzN+jiTAV1y2JCRo0K+jjFTiqzLlGFPvr1xyb+Aq99QiVkR0C4rsKudj6aasQRPodmRGwbxPZmTcJzp6fEllBWI6Sv3kjnmPWldwVN5zamY6yVZIejJlaYZXMLOsyM2WRnObnr4pLObVnBJXLd; 25:ll1y188eXUvtUmqBargFq1N2y0ICpAIrAvOsiw53WoDNwA+6LU0Vps0d02+15mySz8a22ntzNGLrIlKsZQhX7dUkMpVDJzJue3a3CUlCSCIUNdphRFpUw9a2xsjpUr7sONxTuaWrP5nRdIn2zjFb0zKTgaNa5UtuQCzIgkUPmSzA2XQyZscVmcr/FPwbcA9yspNRbh11HfTWxOAUffAJc0zW4Id7FURPUiVijkw2Bmkm9RtdczZ+MFSuzqWtKsT3Q5Sk4wIk+fJ/0SDwrV45vmkcG+Cha7XKHhy0lwHMdSRIqaWBmNNSy6om8XQiSWEAhtht5vSEQqVs4h+iPXo4GQ==; 31:Ugc4aIFkAUemxgQgr8JAdv5lRMzswVUrlM5jjofJmkFfyN15uS7QUFg6PoDfWINSHUJq8bIo1hmLQ0FGRE/Mf2vKb8qJDmo+EfNXKlkSlItSOGQiLs9TpG+v7GxDX6qZT0nHtId5I39CL2S/qn93vMJl7NNeoUx8Wre3azKj2p5tkFTpoeWT1rXHfCuXFsYMQUozR80u5+jt57lBPjfTVprrWTFv133KzUUOfoPruMg= X-MS-TrafficTypeDiagnostic: AM5PR0802MB2548: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2548; 20:IDFO5nNI4gR0My2hPtsvA1zJ0MlZe4x89Y6iC/XArLRQvEoSUL+KQJ5lGN/38JWMePA79SKJylw/m0h2cSTwiPSJKxRD+ykopV3Hga9EGuAZZGqj4GOzI1QQc9RZXBaf31rYY8emslnX7232yup/6fvvNKbHq/Ot2bU0F3lyjOteHvq3aZOmtL5iooIQhgX9a3MfoiW4AhpGP7nNA9AQyqgBmo1tp7lOvd3JhSzO4+/K9/QPTGq9+VOJmP8rLwWQ9XPM4jGBfygMKnPy9cSna6rYgsGUwEgo9RhmFEXvxQiiVY2WNkkqHrYbgOOp7P3ySs7SJxSoE2NTbZHV5ZCXgdGTI7lhb2sPyQYu1BP7zppuocKqte4VwcYz4Ue4GR7kw8NrixFfsKMuzE3LTE5qEUtfe6LyY4dVf4oYciEJpSM=; 4:g4GdUsqUR7Hs1fdOPVsodR60uOxqlBFmsd9rnY6WvGtOnKYi8JPTBNO50aaHHqKW08MgzMm7Rup5sjvCUIKo6/r3nq0mGwiY9VWS4OgFrurFgMu03Kl2UuCRMBMh0H8G+8DkGpwj8ueKVHzeDxabKvRkQ+llhPivd24MA4XIL3hgiggIgt/TzyTcsAO8E5LLvMfXNO49zB/075ub5/wb1rXZ3lYMLDLMLGvMPmREPWQla6zEM8iaIkzSqj/qKgvq X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123558100)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0802MB2548; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0802MB2548; X-Forefront-PRVS: 0445A82F82 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(39830400002)(189002)(199003)(66066001)(316002)(48376002)(69596002)(6666003)(47776003)(107886003)(4326008)(50466002)(101416001)(50226002)(53416004)(189998001)(76176999)(6486002)(6506006)(16526017)(50986999)(36756003)(8936002)(1076002)(5660300001)(81166006)(68736007)(8676002)(81156014)(6116002)(3846002)(105586002)(106356001)(86362001)(33646002)(6512007)(7736002)(97736004)(305945005)(25786009)(5003940100001)(2950100002)(478600001)(2906002)(53936002)(16586007); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0802MB2548; H:pavelb-Z68P-DS3.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@gnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0802MB2548; 23:WuwiU/SjIz2dzBDaiDUsGXqJFwO6tCIG08hgcwh?= =?us-ascii?Q?awmygpy2+oFWFU4ZmqpFcVROjKM3hX53LqB8W29SpqTRb7oXMqGGb4UMEypp?= =?us-ascii?Q?dYgp6bo5FXpldtgLLbw54gkQTIXoQy7F8Gzg7YHuXGFz0dSeg6aQoAznsdm4?= =?us-ascii?Q?dtGE/duyo+IUeTzCt+ycMsLw848uNdF9pzppzszRsBWVD+7z3n9pdkZ6RjBJ?= =?us-ascii?Q?lCXiqZUe/ed6x6tWxfc7r4KgGwZp0k0tAzZWeLWPgpjepvbbeDMQDOpDaIgr?= =?us-ascii?Q?AkgZruFT6CFrMiqEtG2wYZvS/EPcNucdV7c0nsowi2P8FJHPqAmAdyvdHcst?= =?us-ascii?Q?kYR9hMdvbo7kSaUXc9C/81Vah5Uk5bYdx9vt5rzgwJP9Adavz5hUojBvwEZk?= =?us-ascii?Q?iTzeLmEkWjQ83wB+WfcPHklNcfIzW13XsCmOPGPU4U+1mxPLwpw1HwdEu+ct?= =?us-ascii?Q?XJCiajnwHcRJejgjhkoJTkhpa1Y9/xlTmqWtA7+s+3FoOMlIl/yRkTRDw5J1?= =?us-ascii?Q?0KdNPufrf3C9lrRhEApgai91LZkuUtUA5zOHnmzyGi4KLksM/5SG3YhWB79X?= =?us-ascii?Q?FBHBFj75oOPBR+jYypvNKMG0KsYBoTRrZUTOmKubecYbJmEEfCnQs3RK0j/v?= =?us-ascii?Q?Ks1BpjyPzwm0DkcrtVUNVKGIiDdfbjTWHrnfSpeZkatdIkFy+v5L38F77YIh?= =?us-ascii?Q?Ifb3+OTx8f5u8b+cMbuvLIxCDDeW+PFfi1zMSbb20nDqSjPXAYa0787OrBTn?= =?us-ascii?Q?PDaUUTEWJ8svNwT0YICQG6MjWFgPQKzF728ahChOPBHlSbkoHGtjq42VSu6v?= =?us-ascii?Q?/7kMXzAUXJ1AnKJt49Mi5AMyrS8BnM0JVvGefOfxlWxKsC2N1Uap9Aasq4bC?= =?us-ascii?Q?kuV3Sp5PDYJOXazX9Z14eft2OsGOIISqLMftaXPMw/tOuDYKkBjeZrEkoAFh?= =?us-ascii?Q?mQRjeGiry46cykh/1PUoJqI+lUzGzMNdlV7N2SBtwR8gxshCJ1DSlGmt4xM5?= =?us-ascii?Q?PAKa9xkVnPfsHXnfnX3I8WUD6S3GxlT2MQBCduSJyY+w1O81NF5sOSdWAoLB?= =?us-ascii?Q?qxJSjC/mt7or5atVo209PZGA46xNHitmzyKVOGc4cdgCTppAsAhEyzoeC4q1?= =?us-ascii?Q?doqKgQ3RUda3ZCPSIUwaY08vRcvmyFg48wHeS8Ukac8AOj9yfqOQdaA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2548; 6:k6HxILmEEf1QneSS1CzFsv5JBypTCx/nZpuz4ZF5kbIUiaZCpcUSU9QwLiLLc5GdhN7RqXrfjCfEpyFLcU/zUBymMzXCLrJ2bAo9YGc2rauNAzJJ7GzxI61tl7cQ3Czg4Ks/TR2XmFC8QxmhO2BrQAwR2QHK8teP9MkvPlgPj+XFYk8GCvulDAQ6cdZ/uTVN0I+Bf6nR7W6xjGkE5Zi2g97lSNFRbDMWJfpQcTah16x3UYESHF+Qt04Gf30dTO1Cnp5U9yZIPwX3prhIWbrMw8StonqLCX1Vn9Pi3Oad4v3QhlrMXyKEeTGI+rfxLV2mxLbpyj4gGgiJ3BtzTMm9vA==; 5:LyyzmG8FX5cWaZv49r2bh60USzeilzu6sVgIFYKj+0S3S4DK+GkXg5Kd6yZiV3u/t24D2wjWK6u+jaxSxpYWz35Gj5fnd5JDG65QEi48zfaJW13+wyMvVLrUyiOHnKZyQW2F9fyu+ZcpK+tfMmqorg==; 24:x9qhU/uYmtfnIWCSgVYALHscO2Iq4Sr5Q+B8tQskLI5sK4sNUdMT12fEXdZkEoP+gLJeSZiOQyv4kcbXV6ZhFSkw6gGnDALPVlc3zqRCYRc=; 7:UD6MHdYFQq1kkH/3HX1atEO7LeX4jbhIFM2fW6js7ZrfPNX/kXgfyvHK/SinVcFrWE5J7x3zwSdH40xJZOme2zkZk2g5CLMbOpZPl4KQ/v9pyrBYO947hwPKk73V+Z+GT/48DwI5h317F5XauM9DmRHfv+GILp8lrv8P7HgYlZxhOSjUTbKEPm49CZsBEGFk3tZGMjHprq0AKwx9gLm281xUY9+gxJWuXL6LkpGBjbI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2548; 20:1lGYyDsB325TkCcsT9WhMo/WedGZ14ANiegEcHPuK4xrOBCc7K6eN4rfJgsTZ6UZby6SrYWfx5YH6uYRuS1rLznXLT89qUJ20jtFEU8/6JG3r+aF1NOYImdpCl4QvOujd3pCEKecxqLrIBw7p+uAjhaEWx+Kk87wj8XECT60Xso= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2017 12:16:54.4725 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2548 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.2.126 Subject: [Qemu-devel] [PATCH v4 1/2] qcow2: fix return error code in qcow2_truncate() X-BeenThere: qemu-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, pbutsykin@virtuozzo.com, mreitz@redhat.com, den@openvz.org, jsnow@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@gnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Pavel Butsykin Reviewed-by: Eric Blake Reviewed-by: John Snow Reviewed-by: Max Reitz --- block/qcow2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 2174a84d1f..8a4311d338 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -3166,7 +3166,7 @@ static int qcow2_truncate(BlockDriverState *bs, int64= _t offset, if (old_file_size < 0) { error_setg_errno(errp, -old_file_size, "Failed to inquire current file length"); - return ret; + return old_file_size; } =20 nb_new_data_clusters =3D DIV_ROUND_UP(offset - old_length, @@ -3195,7 +3195,7 @@ static int qcow2_truncate(BlockDriverState *bs, int64= _t offset, if (allocation_start < 0) { error_setg_errno(errp, -allocation_start, "Failed to resize refcount structures"); - return -allocation_start; + return allocation_start; } =20 clusters_allocated =3D qcow2_alloc_clusters_at(bs, allocation_star= t, --=20 2.14.1 From nobody Sun May 5 10:09:03 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@gnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1506687587708338.54811412849745; Fri, 29 Sep 2017 05:19:47 -0700 (PDT) Received: from localhost ([::1]:35164 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxuGb-0001P3-27 for importer@patchew.org; Fri, 29 Sep 2017 08:19:41 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37749) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxuEB-0008Ou-Mc for qemu-devel@nongnu.org; Fri, 29 Sep 2017 08:17:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxuE7-0008Vz-Fn for qemu-devel@nongnu.org; Fri, 29 Sep 2017 08:17:11 -0400 Received: from mail-eopbgr20126.outbound.protection.outlook.com ([40.107.2.126]:7371 helo=EUR02-VE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dxuDy-0008Rp-MQ; Fri, 29 Sep 2017 08:16:58 -0400 Received: from pavelb-Z68P-DS3.sw.ru (195.214.232.6) by AM5PR0802MB2548.eurprd08.prod.outlook.com (2603:10a6:203:a1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Fri, 29 Sep 2017 12:16:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=uxAGRviXU5cdZvqOLzL68XZG48scL9tp6uwDlq81zYI=; b=Ts4sIFBMkkaRnGDybg0REU5Y9iGRETeKNExleUqvnOhVnay00Wd+NGLfSRMXiFZuqCGgIZStUZqw2jHv0jTp6sv2EKFM9ukyFtqIODaA/hDZeOuHYQ0fsGxgwLTj8PuNSKztEVpK6oN5oOSp72qtdw+LU7tZyS+pMOTKDVTIAUI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=pbutsykin@virtuozzo.com; From: Pavel Butsykin To: qemu-block@nongnu.org, qemu-devel@nongnu.org Date: Fri, 29 Sep 2017 15:16:13 +0300 Message-Id: <20170929121613.25997-3-pbutsykin@virtuozzo.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170929121613.25997-1-pbutsykin@virtuozzo.com> References: <20170929121613.25997-1-pbutsykin@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: AM5P194CA0010.EURP194.PROD.OUTLOOK.COM (2603:10a6:203:8f::20) To AM5PR0802MB2548.eurprd08.prod.outlook.com (2603:10a6:203:a1::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: abb6898a-cfa2-4692-4c64-08d50733f9cf X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:AM5PR0802MB2548; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2548; 3:zS3OKvnHQrSjX1amr6xma0f6YXR1iLr93xQPtP6wIvNW39Qxp4sUmRD4APkf5GlTnUGHTmEgwhBFes9jqsDESKrHNWsT4MyJUg3S6JxxkjzKz/Xj4pN647fIzVawH17xkJaz9GCFxox6JCgxnFTNoPmtF2IlKIqePNBsV4JSFguJYuR8rP0+E003W2T3U3MpEYJfCfY/seSi6H9+97F1TWvAwDyeONpdhBPO6sx3Fl72+T2aT4j06xqNqMvGajjN; 25:cMQX0MrHph5MrLGD4Ul29owZncKZKii+HMrZfo3dkxo/rnxiN5y2YBihGfx2abJQjEU1LBHnDRjSSQkjzpAMhVgKYB+c9d/4sy2yr2dib06nenmXK9JuEpbgxabHYpykCrXp9f4lqdkeIVyPvk1MGSbLQH2/z5TMUyRlmhXNRgdUKMcFvJWg+arRgtNtz4CH32zdK92rehpK3pg0n63plI9O51QM0krSIfgEOrwk3EwKUwthVRPzcxyumR6cp/+SfK7eg3ET7VNG4PBqW2AJUKhR2bgCMKDRL+m84mgrfcRuj/wktar8xrlCNeWgZd4Hj6Y7qa+BQNcNBS8JWCytwA==; 31:FQ3xgZH95lz3XSLXCxwnmf2Ae6LmpUUIyoFH9HzdtxpXW5ciHVrPEl465nBhQSUSN2ftKocEeb45Psnm1BX0nE403TLcQK1MO5ybIy4vOhZ9jmTdDxYK9ooY0t+257cIZtdUjk7cDQ/NqshudkbIJqM7NOu74pzlBfg1Rd3I1l8rZU0mM+UH1EBWzN5x+tK/pfnzWBeTrdLqpdR8hwlcCXUP3xviTvEXKrLCzSU7Djo= X-MS-TrafficTypeDiagnostic: AM5PR0802MB2548: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2548; 20:lu/JVOngOoo93v91aQ9A9hEzRvtdpmgiNyMIIYeYrLmYieCd7g+2pcMWEeHZnJXWJRZzVjgXovft47pof8hOGSsWXefVjFeNyA24Iv2znPRY7xkfcs/C27bOCkU0YA2JlBibEznsAc9a59dO5e7a423Mq/RizhGyYDyBAbGHLTG3ejdJMvsO66iP3PvPYuE5FKHxZ7r+wevYLSYKAA7VLWVBT7ca1byFhHqePZNMOlmvjZiGQooADKCWjzSrxGu6oSqP6isME2YFzNkrQOGn3PXWRBKeAXacKjGdJUaPhldZosLCSIH+HSTA2P5CviaAP2aSEdEu3/vmUwCETORmnYWfLGdQkqgk3Dwa41DnRK3QHEuLpiog4H3tCDhHLTLlmsAK/7xZ9nGTccEVGAgUL1SvoQj0LYVC2oAoUxreS7U=; 4:WuLTRK6Elr4+s5E4C8dfb0J83xwrE3pXAWdTqpIUeu2W3NcNvVXvkWWQ6FwBk/E5yDyTZmgv2n6tuYC8kIPrexY1uLigBlP8aDvCNpAhC4uDl4p9ZG5jP7KoCoRYNfu78XdLJymVQ0LelN8YP2G8/ntYBjkY51IndtrtQGhst382Ytoj8PCHEMPCziyoFpk/Dqnzdul0RnggEyQJgI6vBd/+1/h3yrkkzLUqSIOfj5XOa9rhj1XFcPBbqkksxF3i X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123558100)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0802MB2548; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0802MB2548; X-Forefront-PRVS: 0445A82F82 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(39830400002)(189002)(199003)(66066001)(316002)(48376002)(69596002)(6666003)(47776003)(107886003)(4326008)(50466002)(101416001)(50226002)(53416004)(189998001)(76176999)(6486002)(6506006)(16526017)(50986999)(36756003)(8936002)(1076002)(5660300001)(81166006)(68736007)(8676002)(81156014)(6116002)(3846002)(105586002)(106356001)(86362001)(575784001)(33646002)(6512007)(7736002)(97736004)(305945005)(25786009)(5003940100001)(2950100002)(478600001)(2906002)(53936002)(16586007); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0802MB2548; H:pavelb-Z68P-DS3.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@gnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0802MB2548; 23:CW6HiIGZAiO3nI4WhMYENUOONP9CgPLlpMAq3+H?= =?us-ascii?Q?sTTf7gYMzx6PX7JmWBWN7DfMCsjE4ZiGNq2TGlvWvgTa3dQEfXYDGhNZAl4f?= =?us-ascii?Q?JdllojjLwd5Ueb7SVHN395xxQXrGxe0RvnsvYRp4KtVNVBaVEnW00ueD868N?= =?us-ascii?Q?/qPFEV3q09qgIJrrHXdUAMzv4jpGZX7tLK/oRM7Rxm/LaOqtaD7hqFV0DbW8?= =?us-ascii?Q?jrigC+3gwrwl/1jtTFiDcY/VYsXoTtE/NoTM2IDORCYYUwITebIxSVXjmcvx?= =?us-ascii?Q?tb3nzMs1TbzbCy6QS+dIMiWaX5SBUN5/+3gTSRsi4g0Nz24zzlEMdFfgY1jX?= =?us-ascii?Q?wnhyt2WUyZBoCeG8GXwViaXdyTIfLrlBeo6OLuFQSDwpwDXTjwBQ/9qXzTNb?= =?us-ascii?Q?K3ziD0EVaWR6iZ/824ABfROPOkdteH9I/hm1Ykw5uyP9i3D0QgUUOE13IraT?= =?us-ascii?Q?jDzbjEfnVu3XfoD1Q0EOMN+4b1ZRWJn/Vrs2EHsuEkKjwTbgT8tihX1NDvXL?= =?us-ascii?Q?LRSYaRyiwAyXFF3Gw+JG9h1ru5yck2A2XLvelQ+MFgm/2qHZKOxmZ5AMcvTO?= =?us-ascii?Q?wb3wT8ur7iXBU0gc1GHbrAs8VIAGHjUiABhQZuk1dzeFsx2bV+HKZNuk2e20?= =?us-ascii?Q?erDwwcNq0chzjQwVID7tijZKyOV5ybhbSRm80ECCqYNwMq6HYvCDDTQxgoZW?= =?us-ascii?Q?5j8jE25iq8moASk2KLhWFZboGQHAOBxpNg+PzNhG/NfwLL3VZVo8Y8jJ8dC2?= =?us-ascii?Q?5/yR1ZQ3V9jVZzL/Ic5AtxXDDC05zisdAgjmntL9jfmaQjCLksRh8DzUfNFi?= =?us-ascii?Q?yuyodbWgydsMt6Ld1pKUc+gUq10pTYGxt4J7dTO3gmp0R4J8TW8MMsH6UgTF?= =?us-ascii?Q?RfM5mYfWoh02sDglGZiUWmYwX2pJPqVflFRNzZo0CItoalrvWYEsE2VvbDFy?= =?us-ascii?Q?k/VMOxNhYr2sOS3ZIOCuan2UrTkBuIGsXLlgTlMtmrJkSZ17Dn+7qeTtIvVJ?= =?us-ascii?Q?VAHKCIH46RixTMDJebeiadBhdbvFf8rUXK+/b0W7ZQYt+qhxzIgKjMRj7OLn?= =?us-ascii?Q?eU2xt4CuwOEJZ8RL8Ay+KZduWOIFomakpTccm9ikC/SiGjaAF1phl5W9ioFF?= =?us-ascii?Q?Orm44h6cjp0wKC1LgIbIORTSOOGQ0SuJBlt2w2kgLn/rM87XdSOPdh/UVYMk?= =?us-ascii?Q?MAE5KWJ9rVCucyYM=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2548; 6:S/0dMYWsncNevcDXGR6J9iKLlfIlRqiHpVERHgs/IeiNDcZOFt1tQdjVxQKCgLiJIA/8sdpFIpgtzxN/h2StxQOifudTOkyy7QKM9L+5EnZSUx1mYLcwgHFQnvcdHnWtImfwIysRSLdY9Ba226rL658Xq9q47tVlvhEYXZAZN7S/GZevlmCfH6X738Lx58YCgUR7HVMclbS54tzkV/n2VayIEWWL5lmmWcqyjv9F14MWAhsbZhisMFH6+7QWX1NTpVOJ58PoQYuXdWhv+WTIBHNr0SrZVsHqOTlPbr0fAU/BaeoiULu4vGF7Lsj2L/eqr8dKiT1j5jDRXeyGMT+1Og==; 5:SlpdjdMSBWol9mFbrUAulivIEPehN7IG2Ptsv8wEW3/sZvQ1aZSTQrk1yCX1YmHzOZjKRQ+LuA3mjyJwKGd3T2kauIcHWioSw+tbQnGWycxFNWcw68q/CTKaNXcTG/hNn5A+uCNMW7X/CpgatMqN8w==; 24:vfUnKtYlwYsIGZFu/LT8QrrEhEKxkH98ISBmfuvKACr8IgRXQYdt5RiQofO44Bl3EXoXXqDHyFAMYwT1Xvim6aUpozh0qhWu02A+tqxbCXM=; 7:t525eBtHK++gDmM5CNA3cPPFSO1/pUaSXAgGpRInmvuGMdA4imlMXKQYldoBPb7Yoe/Hw2cdojqNdK9xUoAVIGyeQHSTWVwy2g/AuxhGJGkNRHIthzsyZ8VF+H05hToXZnwWBzh8zy8DPna1yfQtqQgUSbdbJ+l2D8z9jW465hiLccqB5GI0SuNw688cACTfSiUHknXsxe4dymnIXPRIPfE4CeveQWHCotepKKOgGBY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2548; 20:FMYO8FVrJCDyZ0E0Jmsj4+4UTQj3PN0gNtS1T/4m7RWwYtebHqpJAkteScbx53e6vjKS4BYhxLxDHvXC8zHY0K4vxmvdxoDLfoLFUoVcAWrnCujJ6TPJaF+YjzB2RBYPCibAHV4902blu/4PAZz2pcXc9PaML01No4b3bwdh/AA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2017 12:16:55.3944 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2548 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.2.126 Subject: [Qemu-devel] [PATCH v4 2/2] qcow2: truncate the tail of the image file after shrinking the image X-BeenThere: qemu-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, pbutsykin@virtuozzo.com, mreitz@redhat.com, den@openvz.org, jsnow@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@gnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now after shrinking the image, at the end of the image file, there might be= a tail that probably will never be used. So we can find the last used cluster= and cut the tail. Signed-off-by: Pavel Butsykin Reviewed-by: John Snow --- block/qcow2-refcount.c | 22 ++++++++++++++++++++++ block/qcow2.c | 23 +++++++++++++++++++++++ block/qcow2.h | 1 + 3 files changed, 46 insertions(+) diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c index 88d5a3f1ad..aa3fd6cf17 100644 --- a/block/qcow2-refcount.c +++ b/block/qcow2-refcount.c @@ -3181,3 +3181,25 @@ out: g_free(reftable_tmp); return ret; } + +int64_t qcow2_get_last_cluster(BlockDriverState *bs, int64_t size) +{ + BDRVQcow2State *s =3D bs->opaque; + int64_t i; + + for (i =3D size_to_clusters(s, size) - 1; i >=3D 0; i--) { + uint64_t refcount; + int ret =3D qcow2_get_refcount(bs, i, &refcount); + if (ret < 0) { + fprintf(stderr, "Can't get refcount for cluster %" PRId64 ": %= s\n", + i, strerror(-ret)); + return ret; + } + if (refcount > 0) { + return i; + } + } + qcow2_signal_corruption(bs, true, -1, -1, + "There are no references in the refcount table= ."); + return -EIO; +} diff --git a/block/qcow2.c b/block/qcow2.c index 8a4311d338..d9e0a132f9 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -3106,6 +3106,7 @@ static int qcow2_truncate(BlockDriverState *bs, int64= _t offset, new_l1_size =3D size_to_l1(s, offset); =20 if (offset < old_length) { + int64_t last_cluster, old_file_size; if (prealloc !=3D PREALLOC_MODE_OFF) { error_setg(errp, "Preallocation can't be used for shrinking an image= "); @@ -3134,6 +3135,28 @@ static int qcow2_truncate(BlockDriverState *bs, int6= 4_t offset, "Failed to discard unused refblocks"); return ret; } + + old_file_size =3D bdrv_getlength(bs->file->bs); + if (old_file_size < 0) { + error_setg_errno(errp, -old_file_size, + "Failed to inquire current file length"); + return old_file_size; + } + last_cluster =3D qcow2_get_last_cluster(bs, old_file_size); + if (last_cluster < 0) { + error_setg_errno(errp, -last_cluster, + "Failed to find the last cluster"); + return last_cluster; + } + if ((last_cluster + 1) * s->cluster_size < old_file_size) { + ret =3D bdrv_truncate(bs->file, (last_cluster + 1) * s->cluste= r_size, + PREALLOC_MODE_OFF, NULL); + if (ret < 0) { + warn_report("Failed to truncate the tail of the image: %s", + strerror(-ret)); + ret =3D 0; + } + } } else { ret =3D qcow2_grow_l1_table(bs, new_l1_size, true); if (ret < 0) { diff --git a/block/qcow2.h b/block/qcow2.h index 5a289a81e2..782a206ecb 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -597,6 +597,7 @@ int qcow2_change_refcount_order(BlockDriverState *bs, i= nt refcount_order, BlockDriverAmendStatusCB *status_cb, void *cb_opaque, Error **errp); int qcow2_shrink_reftable(BlockDriverState *bs); +int64_t qcow2_get_last_cluster(BlockDriverState *bs, int64_t size); =20 /* qcow2-cluster.c functions */ int qcow2_grow_l1_table(BlockDriverState *bs, uint64_t min_size, --=20 2.14.1