From nobody Tue Feb 10 03:38:51 2026 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; dkim=fail; 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=1572269068; cv=none; d=zoho.com; s=zohoarc; b=AXo46Lg3KyWM7joddrkgjbtTlmzAHzXcMtENO49zG1i1UUJgJ07EAyv/ApP2VoAOAtrHEx9abX1F2Wjjqo2d+FSLg8c3w0p7s6odE4Aag+UvG1+VKFhHE9BUhQJzWtM5UCLUqTDeSYo6o4AugTRFGY9yfyjSeBnTjt7BCkU8Hl0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572269068; 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; bh=6aKuvnMVQFuDU56JNrd/dh0dSuS58g2T5cVoRy4wUis=; b=LWTicnrJM6nWoB06bwhzGlWIP1bgcULF9zGDFQztaNHoqp4S4RQ9B/lYUBaUyOhJK5HU39ewyDzR+Rd23OspRbvN4tSTBJeY/tBXYmakadub5v3IE//XkeRDYpYDsQt6daVJA7dC/CWYdqFYK5/rngPGl6+kKfQjtSNtEvVdYgs= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; 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 1572269068771811.5346160506654; Mon, 28 Oct 2019 06:24:28 -0700 (PDT) Received: from localhost ([::1]:53712 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP50V-0001OU-Kn for importer@patchew.org; Mon, 28 Oct 2019 09:24:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51226) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP3xb-0003p1-5x for qemu-devel@nongnu.org; Mon, 28 Oct 2019 08:17:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP3xZ-0002Ot-82 for qemu-devel@nongnu.org; Mon, 28 Oct 2019 08:17:22 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:39466 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iP3xZ-0002OX-3u for qemu-devel@nongnu.org; Mon, 28 Oct 2019 08:17:21 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-389-3zlq06D3Or-0OHPcpcfeIw-1; Mon, 28 Oct 2019 08:17:17 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 18C8E800FF1; Mon, 28 Oct 2019 12:17:16 +0000 (UTC) Received: from localhost (ovpn-117-83.ams2.redhat.com [10.36.117.83]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B49A75DA2C; Mon, 28 Oct 2019 12:17:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1572265040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6aKuvnMVQFuDU56JNrd/dh0dSuS58g2T5cVoRy4wUis=; b=fj4JF2htImgh3yg94VK7OIt+SpNcjl5ma6VM+cSq7wdOL55b/jDkaZQ1U/ifxg1QDxJ9WT KwFz7LRwFX4y+tpABZR2tcMisUbEL94Duv/HNLS9e09u9A655yNlc5WM1q9Ye95P8mSW93 g+B4YoaJWOmIcBbo/0SFlGxgCLuOaDg= From: Max Reitz To: qemu-block@nongnu.org Subject: [PULL 63/69] block: Do not truncate file node when formatting Date: Mon, 28 Oct 2019 13:14:55 +0100 Message-Id: <20191028121501.15279-64-mreitz@redhat.com> In-Reply-To: <20191028121501.15279-1-mreitz@redhat.com> References: <20191028121501.15279-1-mreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-MC-Unique: 3zlq06D3Or-0OHPcpcfeIw-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 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" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" There is no reason why the format drivers need to truncate the protocol node when formatting it. When using the old .bdrv_co_create_ops() interface, the file will be created with no size option anyway, which generally gives it a size of 0. (Exceptions are block devices, which cannot be truncated anyway.) When using blockdev-create, the user must have given the file node some size anyway, so there is no reason why we should override that. qed is an exception, it needs the file to start completely empty (as explained by c743849bee7333c7ef256b7e12e34ed6f907064f). Signed-off-by: Max Reitz Message-id: 20190918095144.955-4-mreitz@redhat.com Reviewed-by: Maxim Levitsky Signed-off-by: Max Reitz --- block/parallels.c | 5 ----- block/qcow.c | 5 ----- block/qcow2.c | 6 ------ 3 files changed, 16 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 7cd2714b69..905cac35c6 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -563,11 +563,6 @@ static int coroutine_fn parallels_co_create(BlockdevCr= eateOptions* opts, blk_set_allow_write_beyond_eof(blk, true); =20 /* Create image format */ - ret =3D blk_truncate(blk, 0, PREALLOC_MODE_OFF, errp); - if (ret < 0) { - goto out; - } - bat_entries =3D DIV_ROUND_UP(total_size, cl_size); bat_sectors =3D DIV_ROUND_UP(bat_entry_off(bat_entries), cl_size); bat_sectors =3D (bat_sectors * cl_size) >> BDRV_SECTOR_BITS; diff --git a/block/qcow.c b/block/qcow.c index 5bdf72ba33..17705015ca 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -858,11 +858,6 @@ static int coroutine_fn qcow_co_create(BlockdevCreateO= ptions *opts, blk_set_allow_write_beyond_eof(qcow_blk, true); =20 /* Create image format */ - ret =3D blk_truncate(qcow_blk, 0, PREALLOC_MODE_OFF, errp); - if (ret < 0) { - goto exit; - } - memset(&header, 0, sizeof(header)); header.magic =3D cpu_to_be32(QCOW_MAGIC); header.version =3D cpu_to_be32(QCOW_VERSION); diff --git a/block/qcow2.c b/block/qcow2.c index 8d4f38ae74..bf29d1c460 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -3391,12 +3391,6 @@ qcow2_co_create(BlockdevCreateOptions *create_option= s, Error **errp) } blk_set_allow_write_beyond_eof(blk, true); =20 - /* Clear the protocol layer and preallocate it if necessary */ - ret =3D blk_truncate(blk, 0, PREALLOC_MODE_OFF, errp); - if (ret < 0) { - goto out; - } - /* Write the header */ QEMU_BUILD_BUG_ON((1 << MIN_CLUSTER_BITS) < sizeof(*header)); header =3D g_malloc0(cluster_size); --=20 2.21.0