From nobody Sun Feb 8 21:48:38 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1603731621; cv=none; d=zohomail.com; s=zohoarc; b=GMcOXysjqaej5DPerXgMi9DnrHNTAARro0ZO1aAGpTZl6p8T4zVCCm46ACoXuU7WlSU6qK14ve+JLclgWqDZxxYo2Bpu8NgJleXgn+lOxRvv/jz7jc/WTwGs6yPoL/Q20FMC9cgTJeqex6+FiLDbt5XEr34UF1qMNexYFsrmINQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603731621; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=U9wt3R+OsQZtKKQT9SwSzSD2L/6TuHPIm4Guch2dRSo=; b=e9CQ6lLnUctgiTdk1IepyRWYTmeZgzpJQxSn7+cjTy610+fwjzJ0pYNG+lkWaQ8Gn45CGCrScDYoFmsVD0ta/uWqfaUuqBkHd+QtA/3IFXRxv9Ah5fA9BpS3P4n210MKj8OXEoKjTrUKtwd3ecO9aMwqC/x7iUERQEZrm9ZC8eQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1603731621132430.30476283567987; Mon, 26 Oct 2020 10:00:21 -0700 (PDT) Received: from localhost ([::1]:35612 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kX5qy-0003X2-Rp for importer@patchew.org; Mon, 26 Oct 2020 13:00:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kX5pt-0001vh-PF; Mon, 26 Oct 2020 12:59:09 -0400 Received: from fanzine.igalia.com ([178.60.130.6]:49282) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kX5pr-0005YB-HO; Mon, 26 Oct 2020 12:59:09 -0400 Received: from [81.0.38.168] (helo=perseus.local) by fanzine.igalia.com with esmtpsa (Cipher TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim) id 1kX5pU-0006VY-L4; Mon, 26 Oct 2020 17:58:44 +0100 Received: from berto by perseus.local with local (Exim 4.92) (envelope-from ) id 1kX5pG-0004Pu-HE; Mon, 26 Oct 2020 17:58:30 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=U9wt3R+OsQZtKKQT9SwSzSD2L/6TuHPIm4Guch2dRSo=; b=iKYCE3v1Ry0DovSh+Pasf3H83qmrY/s4awTDJNbMBvAloC54rH/HMuw+rpSCSwT8nfrJpLA5+KbrYgtK19qKnw6hP7QFIm9LN8rNS2PJ8GImlaF/55iQQiJ8WIzJ4WcPPB21oYB93h6HMKO4YHr6McPX8VyapByoFvSRulZJXXHQB/TxtUyZy4jc+IZfzEenT1jgzL3ij3aTNZAsymmDHRdcalObeT6MTdhMWX+UQ4jRPb/arwXH9nE5tqIr9D0pQsPnwY4lNXzawMdzG6dRTycJaI+8yvYSP6uPEl+df+tiiLZXTbO6TxcoFu30tsTnqnoXWJhkywkomlWx/gup/Q==; From: Alberto Garcia To: qemu-devel@nongnu.org Subject: [PATCH v5 1/2] qcow2: Report BDRV_BLOCK_ZERO more accurately in bdrv_co_block_status() Date: Mon, 26 Oct 2020 17:58:26 +0100 Message-Id: <66fa0914a0e2b727ab6d1b63ca773d7cd29a9a9e.1603731354.git.berto@igalia.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.60.130.6; envelope-from=berto@igalia.com; helo=fanzine.igalia.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/26 12:58:45 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x (no timestamps) [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Vladimir Sementsov-Ogievskiy , Alberto Garcia , qemu-block@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" If a BlockDriverState supports backing files but has none then any unallocated area reads back as zeroes. bdrv_co_block_status() is only reporting this is if want_zero is true, but this is an inexpensive test and there is no reason not to do it in all cases. Suggested-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Alberto Garcia Reviewed-by: Vladimir Sementsov-Ogievskiy --- block/io.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/block/io.c b/block/io.c index 02528b3823..6fe1b275b6 100644 --- a/block/io.c +++ b/block/io.c @@ -2282,17 +2282,17 @@ static int coroutine_fn bdrv_co_block_status(BlockD= riverState *bs, =20 if (ret & (BDRV_BLOCK_DATA | BDRV_BLOCK_ZERO)) { ret |=3D BDRV_BLOCK_ALLOCATED; - } else if (want_zero && bs->drv->supports_backing) { + } else if (bs->drv->supports_backing) { BlockDriverState *cow_bs =3D bdrv_cow_bs(bs); =20 - if (cow_bs) { + if (!cow_bs) { + ret |=3D BDRV_BLOCK_ZERO; + } else if (want_zero) { int64_t size2 =3D bdrv_getlength(cow_bs); =20 if (size2 >=3D 0 && offset >=3D size2) { ret |=3D BDRV_BLOCK_ZERO; } - } else { - ret |=3D BDRV_BLOCK_ZERO; } } =20 --=20 2.20.1