From nobody Thu Dec 18 17:50:01 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1566232164; cv=none; d=zoho.com; s=zohoarc; b=ReDLP6PUbPc3tUlnBFhW2ZiF6uSiUU47vfMOnAZXOFlMJc77nvWCvAJZdMLYI0abvldqmL9psoE/IX6Rb6L3oIXStHixTILh3Q+DTgJ1OZOToJ+9Eoc2BKONZyKlAq8DViVeI77JTPY+V00bBOZh7/SzKccEsOCYMa1i5DV9yC0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1566232164; h=Content-Type: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:ARC-Authentication-Results; bh=rtSc7wILfHFbN6cn94kfcN02rqxFj1OaI1oJgF5SEIk=; b=jJgAw1Zj8dv0IFb+ZjwCYOJOWBkl5B398aU3K3jH+dpvYoZNzkAQy42WQAf6w1LOS6Vtn+zMWM4cIt6lxA4xT7xUUYwr18i1obYcNJmQg6a1SxnomGX83HlUe6vBJ5pGhXwVtcyFLcbyVvF4Id2nW55L+CbnwQOFNRCIjUgz41Q= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1566232164160497.34987114017997; Mon, 19 Aug 2019 09:29:24 -0700 (PDT) Received: from localhost ([::1]:55328 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hzkX4-0000Ng-N9 for importer@patchew.org; Mon, 19 Aug 2019 12:29:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35731) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hzkMM-0003OG-Qw for qemu-devel@nongnu.org; Mon, 19 Aug 2019 12:18:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hzkMK-0006bJ-OT for qemu-devel@nongnu.org; Mon, 19 Aug 2019 12:18:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58782) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hzkME-0006YS-UB; Mon, 19 Aug 2019 12:18:11 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3B864300189C; Mon, 19 Aug 2019 16:18:10 +0000 (UTC) Received: from localhost (ovpn-204-64.brq.redhat.com [10.40.204.64]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CA25827C42; Mon, 19 Aug 2019 16:18:09 +0000 (UTC) From: Max Reitz To: qemu-block@nongnu.org Date: Mon, 19 Aug 2019 18:17:23 +0200 Message-Id: <20190819161723.7746-18-mreitz@redhat.com> In-Reply-To: <20190819161723.7746-1-mreitz@redhat.com> References: <20190819161723.7746-1-mreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Mon, 19 Aug 2019 16:18:10 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 17/17] doc: Preallocation does not require writing zeroes 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 , Peter Maydell , qemu-devel@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" When preallocating an encrypted qcow2 image, it just lets the protocol driver write data and then does not mark the clusters as zero. Therefore, reading this image will yield effectively random data. As such, we have not fulfilled the promise of always writing zeroes when preallocating an image in a while. It seems that nobody has really cared, so change the documentation to conform to qemu's actual behavior. Signed-off-by: Max Reitz Message-id: 20190711132935.13070-1-mreitz@redhat.com Reviewed-by: Eric Blake Reviewed-by: Daniel P. Berrang=C3=A9 Reviewed-by: Maxim Levitsky Signed-off-by: Max Reitz --- qapi/block-core.json | 9 +++++---- docs/qemu-block-drivers.texi | 4 ++-- qemu-img.texi | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index a5ab38db99..e6edd641f1 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -5178,10 +5178,11 @@ # @off: no preallocation # @metadata: preallocate only for metadata # @falloc: like @full preallocation but allocate disk space by -# posix_fallocate() rather than writing zeros. -# @full: preallocate all data by writing zeros to device to ensure disk -# space is really available. @full preallocation also sets up -# metadata correctly. +# posix_fallocate() rather than writing data. +# @full: preallocate all data by writing it to the device to ensure +# disk space is really available. This data may or may not be +# zero, depending on the image format and storage. +# @full preallocation also sets up metadata correctly. # # Since: 2.2 ## diff --git a/docs/qemu-block-drivers.texi b/docs/qemu-block-drivers.texi index 91ab0eceae..c02547e28c 100644 --- a/docs/qemu-block-drivers.texi +++ b/docs/qemu-block-drivers.texi @@ -31,8 +31,8 @@ Supported options: @item preallocation Preallocation mode (allowed values: @code{off}, @code{falloc}, @code{full}= ). @code{falloc} mode preallocates space for image by calling posix_fallocate= (). -@code{full} mode preallocates space for image by writing zeros to underlyi= ng -storage. +@code{full} mode preallocates space for image by writing data to underlying +storage. This data may or may not be zero, depending on the storage locat= ion. @end table =20 @item qcow2 diff --git a/qemu-img.texi b/qemu-img.texi index c8e9bba515..b5156d6316 100644 --- a/qemu-img.texi +++ b/qemu-img.texi @@ -666,8 +666,8 @@ Supported options: @item preallocation Preallocation mode (allowed values: @code{off}, @code{falloc}, @code{full}= ). @code{falloc} mode preallocates space for image by calling posix_fallocate= (). -@code{full} mode preallocates space for image by writing zeros to underlyi= ng -storage. +@code{full} mode preallocates space for image by writing data to underlying +storage. This data may or may not be zero, depending on the storage locat= ion. @end table =20 @item qcow2 --=20 2.21.0