From nobody Mon Feb 9 20:35:32 2026 Delivered-To: importer@patchew.org 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; 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; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 158083643032248.614079295374154; Tue, 4 Feb 2020 09:13:50 -0800 (PST) Received: from localhost ([::1]:34744 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iz1ll-0001sv-8C for importer@patchew.org; Tue, 04 Feb 2020 12:13:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53265) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iz1hn-0003Vt-Kq for qemu-devel@nongnu.org; Tue, 04 Feb 2020 12:09:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iz1hm-00039p-Lj for qemu-devel@nongnu.org; Tue, 04 Feb 2020 12:09:43 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:56548 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 1iz1hm-00036K-I3 for qemu-devel@nongnu.org; Tue, 04 Feb 2020 12:09:42 -0500 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-307-5q1B4ZKoM7SmFwhCbidd5g-1; Tue, 04 Feb 2020 12:09:34 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 30001801F74; Tue, 4 Feb 2020 17:09:33 +0000 (UTC) Received: from localhost (ovpn-117-98.ams2.redhat.com [10.36.117.98]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9EE7A1BC6D; Tue, 4 Feb 2020 17:09:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1580836178; 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=YD9ure/h6d4i1Hq2fV3yRqhlaYDwYh41aimpnPmJGAY=; b=CdSOcOEEwqlZAb066MmG36NKSyNHoscVhfFQbAvWCzHBLTS07q6IejNWKUAI1Y0vtwXnC2 W+/R2SQG7M8GLLZ/p1WJ7NuwI75FQF78jT4V8/Nw7TFDi1RBhG2yDNvtx975aZpgZPPahF un6TJRMnMJbk74/SjxTLxOL4aeenLs8= From: Max Reitz To: qemu-block@nongnu.org Subject: [PATCH v2 14/33] block: Distinguish paths in *_format_default_perms Date: Tue, 4 Feb 2020 18:08:29 +0100 Message-Id: <20200204170848.614480-15-mreitz@redhat.com> In-Reply-To: <20200204170848.614480-1-mreitz@redhat.com> References: <20200204170848.614480-1-mreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-MC-Unique: 5q1B4ZKoM7SmFwhCbidd5g-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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 , Vladimir Sementsov-Ogievskiy , 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" bdrv_format_default_perms() has one code path for backing files, and one for storage files. We want to pull them out into own functions, so make sure they are completely distinct before so the next patches will be a bit cleaner. Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- block.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/block.c b/block.c index 1816e92674..39ba6aad0a 100644 --- a/block.c +++ b/block.c @@ -2309,6 +2309,13 @@ void bdrv_format_default_perms(BlockDriverState *bs,= BdrvChild *c, perm |=3D BLK_PERM_CONSISTENT_READ; } shared &=3D ~(BLK_PERM_WRITE | BLK_PERM_RESIZE); + + if (bs->open_flags & BDRV_O_INACTIVE) { + shared |=3D BLK_PERM_WRITE | BLK_PERM_RESIZE; + } + + *nperm =3D perm; + *nshared =3D shared; } else { /* We want consistent read from backing files if the parent needs = it. * No other operations are performed on backing files. */ @@ -2325,14 +2332,14 @@ void bdrv_format_default_perms(BlockDriverState *bs= , BdrvChild *c, =20 shared |=3D BLK_PERM_CONSISTENT_READ | BLK_PERM_GRAPH_MOD | BLK_PERM_WRITE_UNCHANGED; - } =20 - if (bs->open_flags & BDRV_O_INACTIVE) { - shared |=3D BLK_PERM_WRITE | BLK_PERM_RESIZE; - } + if (bs->open_flags & BDRV_O_INACTIVE) { + shared |=3D BLK_PERM_WRITE | BLK_PERM_RESIZE; + } =20 - *nperm =3D perm; - *nshared =3D shared; + *nperm =3D perm; + *nshared =3D shared; + } } =20 uint64_t bdrv_qapi_perm_to_blk_perm(BlockPermission qapi_perm) --=20 2.24.1