From nobody Mon May 6 00:05:44 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1622130166; cv=pass; d=zohomail.com; s=zohoarc; b=IWNmURVRvTmlMisIIxlnKPjtCHOj2T2RnGJ54jlMcQVTI9t5yvj09f5i5tynmY2ZsUWezmeth/gGLIhSCLKR8pLknWBksilmTrqAjHWqnhM3jRbFuC3+W6bgYsjbSBDOUAMaff8Q6xTdALbGExx3n1cms8rzRjV1RPYNO9AWJbo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1622130166; 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=EinojbAYWeAx9Rn2pOG2d/iRgMa6HpSTacZLaRC3W00=; b=SmX02tNrX+yyPie1o/9GkkJaN8tIAnM06YfOnXuB0lZWpLDYepeHoRfEiKmQxeEMr5RA0MGlEPrNmtgsC/CSpcf+74j31Aj4Xq+3pHtqLeVB7UGvIUpJqPyNXZhVzwlNaWPStcKJpYSqcFeLvMrzf6Tv2lwAi8108txASCxJMD4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine 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 1622130166056835.272142438908; Thu, 27 May 2021 08:42:46 -0700 (PDT) Received: from localhost ([::1]:54142 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmI9k-0001C8-W4 for importer2@patchew.org; Thu, 27 May 2021 11:42:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54798) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmI8T-0007pG-6E; Thu, 27 May 2021 11:41:25 -0400 Received: from mail-eopbgr70114.outbound.protection.outlook.com ([40.107.7.114]:51616 helo=EUR04-HE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmI8Q-0006YN-OD; Thu, 27 May 2021 11:41:24 -0400 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM5PR0801MB1780.eurprd08.prod.outlook.com (2603:10a6:203:39::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.27; Thu, 27 May 2021 15:41:17 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f928:f4f2:77c0:74b4]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f928:f4f2:77c0:74b4%7]) with mapi id 15.20.4173.022; Thu, 27 May 2021 15:41:17 +0000 Received: from localhost.localdomain (185.215.60.226) by HE1PR0901CA0043.eurprd09.prod.outlook.com (2603:10a6:3:45::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.20 via Frontend Transport; Thu, 27 May 2021 15:41:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y6XDMizLkYGdUB+tGFzk5oBVi6dRNbiSQUhmQBqFsf+EDQShJUqRwxavfmc/EtG5b1cmMqbn5VookBksurZGwa3W9A3B9OVCxljDzIA2iZZQiWlURZDC9y26nIQw1sn6dMcG9031tE9Ws5thUqW1VgT/akrDpVK8k9GJUolaJcClqCCreWDQBypgtHM2KrcefsKbEut/WJAYSXBYQua7VQJJzr3XS++8dgIHr6xvTxYHmK6T+5EGhNxlQM3HGawFdI6qnrMnBVMY4tPK2nWbi0VBU9832K8I5WugABf0g0et3v9ZfybRbh3omL7nM9xl65a3OMaG5Am5PwFxYRq8ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EinojbAYWeAx9Rn2pOG2d/iRgMa6HpSTacZLaRC3W00=; b=CSyiqSegktA50AA+hF5JzrSs6VF/1RhwLkvh3J3Xnu69xca91xoaCXdcVYK3Dv+rA5FdUFaeV6eQaCMYxGz7HTQ5o75gSqbaA+ubiQZkv1dAJt7Y6uvfJYnk1IAV8aMEzdhKYOFiqjLvW1G+ECDeMKteTqNaFVNdwc8gMKRIT2mnkfl0ycbJwm6ks9OWg2BBEs7qplUTbkw1MX5torTnM1Bp/bTHM78jECZRuRLwBA2Xcu2RLDxcXHPC+xVF0SKHQwmGN2/jyy5EHluGbeYhrZugvSeF5Vuh76v6bO9kdrK2okr/ATaQteYXzcZD3rfm032RmlxXm0WGHfI+YV6GiQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EinojbAYWeAx9Rn2pOG2d/iRgMa6HpSTacZLaRC3W00=; b=oq+ioRa8uG1cSUWmcXPwcp7afew1Y+Cf4ZY9KUbXgNNcNGmFlVpomtquMKFXKQCx5PKE8QRUvSYP16TUzSEpfaZznR1u+hKcNDYh+ThXXCCACdbwPib19U4gRYn9VlZ0kuw09DcijCGXD2KdU72/z+gIeIoeg/vHzMFhKuSJyp8= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, codyprime@gmail.com, armbru@redhat.com, fam@euphon.net, stefanha@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, mreitz@redhat.com, kwolf@redhat.com Subject: [PATCH v2 1/3] block: consistently use bdrv_is_read_only() Date: Thu, 27 May 2021 18:40:54 +0300 Message-Id: <20210527154056.70294-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210527154056.70294-1-vsementsov@virtuozzo.com> References: <20210527154056.70294-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.226] X-ClientProxiedBy: HE1PR0901CA0043.eurprd09.prod.outlook.com (2603:10a6:3:45::11) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 17a158e8-30fc-48e4-168b-08d92125de4b X-MS-TrafficTypeDiagnostic: AM5PR0801MB1780: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:60; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2KtDkXuvo582mwyaQaO22RHWJ3LJWTPAhzm9DK4zkqskMKwpZkmJ//RJAplP2+JfipDql36/QxXK2K2uqLLeZyoXa75nHtfwzeA1aYE54HvvrWeDgjQipGRhgmppka5tuqyUNAuDLyk440Q+IspM2VjlewmMzdQrA7aUslSZ8FLl9YebNG0AMilWTxj3B7ATvwTmDdFxscvp3Oad/lI+XgfLriabHCjVT4BWYEVfbAKjAZrDqRG+S/Ng/++EFpesR1t2SgIRehc8XvrnzSCp03heaD6P4tqX8XcGMiUCZ3z2XIFtvt8fM3wSuhSAeVRMqJWlaGQ7jZfpKDP2TTBFry50Xta+MsQo7OJY7VFK7pSEhfz2C6Z9CsYhnx9KVgJxDLmV5cbt/WoYB17Ph5jM4hxs4sdBV5uOWqRuSz9x9a/pYC/G6pwB5zJruys5Wep3/tz1dsS/1/ceN+VdoCrvAmdO5vaz/nRQJVIoGO+uQq6OTIdkWfo5DB/ogQrFYEl6id4r8W6W/AlirLUT/TLkx6IzZ89Afh7nIEOm8pYgb1JuGUF10bsVE5ZNloe6+9eKNJXMrWdxIRVc8t5+hV+PkiOSclueQ7FE4pO1g8j0iqkCVuK72o2G5OgZOHUM974uCfxA3QdkLBv7af9KKUgQcKUCpLnBhE/4v6mlEiqpTlokIqTgA+WYUXo28kVQ3zYA X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(39840400004)(136003)(376002)(396003)(366004)(52116002)(83380400001)(186003)(38350700002)(16526019)(478600001)(4326008)(38100700002)(1076003)(6666004)(316002)(6506007)(86362001)(5660300002)(66476007)(66556008)(956004)(8936002)(2616005)(66946007)(26005)(6486002)(6512007)(2906002)(6916009)(8676002)(36756003)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?lymGoZbBvHNTg9bP6i/3psJpg3LRCI9DHpZywqZ3V5cNY0qi1Q3Lmas/NlnJ?= =?us-ascii?Q?rh1jU7G7RtpznWLNEx2EIcZ+ieZxxfews0ufIkiBDGlJxE/iZZGMLQpzgNGk?= =?us-ascii?Q?8Yqm9pAwfLEPBiH6jr9qU9c6Rd5HiXyXfQ6J1/WwFpFSK+pwaHXX9v7EE7nU?= =?us-ascii?Q?VsWegqGKurM3thnmtTWNd0eaLahhPhk0dbTCOlGHlqIsVtVuS3ts70pSFZ+L?= =?us-ascii?Q?/FcUZ9cc6kM2IaCjaE7ekruvAmiP61IwFidV5HEyNR2MTdg94dJWTdDxwwPK?= =?us-ascii?Q?ne3Gh6b0z91MWv/ZqxYWlkg66LzUWQh1roi7R+9mdBhrcPnZHPGKe8akSPbr?= =?us-ascii?Q?tCdwFz0hqEZOBWKHoLknzUujti1F1QyDqXEPRC+Hr6jggdZkhxYpzlgDqoaW?= =?us-ascii?Q?X+gkyV4heIRQ2BEQnFBYtmJbmOwXumkL5afpsV5hSUQvaoIXGBRrj0+vZq5V?= =?us-ascii?Q?ohZgER5DVzL2A3fF2Gh1J9Ejv24a+eh1WnIEf4JiRc8nmbFzUUT+RRpYVXMg?= =?us-ascii?Q?HaGj1gXIpIQ5+haJXSotzhUUm2ddEUcgmxiNR0LRZiA78/1HmaiUr/6tZ29a?= =?us-ascii?Q?JxsbBAda1bK9gES+TaM2tbozdL5i863AVJqCIX5P0bEmbofLAnrWjeu6u2Jr?= =?us-ascii?Q?4YZnflZx3DDnpRT0lzqVQifrtBZ/JnDfoKJTkVjr3japS3XKkAmm5VbciwaP?= =?us-ascii?Q?yO8Kt4nbpsTKVeJQNG6hB0LO8XNRJ2J5x22Pcn10eIBm1H20Sk40/WC1r7iD?= =?us-ascii?Q?My0GySL50xMOroDXIgWJLRThNqfaeLMXQGciSFVDau9c7Sco6g9/0qZW0ay9?= =?us-ascii?Q?x2vDRNEK/xnbBgnV3HbqnZOUJXnkP5D+X3I1aM8GuGhhAdqDPQ988tTc2WIG?= =?us-ascii?Q?Jnf9Dskh59+DSezrYLz+CnLTUKZjEp3c7wHq9IQPwTycUGyPZG7h+V99yWzZ?= =?us-ascii?Q?M3g4v3k9C/H+xjooF+ukdDDXUJ+tRS6rbQOBBd+OA8DDx/KzBdgINKllt8Jr?= =?us-ascii?Q?9Y8uw5WriOo2hOuwy2naIEuqdmmuBk2R2H2nujelDHQhvNJFw0wnybWd5Ksn?= =?us-ascii?Q?Bur/0hRSCCfhLFZ2TAR7XnirfhUtkCT/HW64ljn2cQorVk433TlmHASElCf4?= =?us-ascii?Q?1oJS/nWkR0/xohmBNgiHR3SOKTFAXO2TtXf5jdphVD2//uNeuwdmPqXOltEJ?= =?us-ascii?Q?5I/caO3lqaYBF1JPKu5Vnct4JUZk5DEH03eijhXmP38K+qg0Q1lK74iTY8pC?= =?us-ascii?Q?96qqV1Ui/FG/17aXjOqBbsDrw3SqkXH5wvIj2iKanFX6+eepCHXpr0+jbvIm?= =?us-ascii?Q?oWwPriFjs7MwxIo07Mpg68R7?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17a158e8-30fc-48e4-168b-08d92125de4b X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2021 15:41:17.7939 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VkCCsL+zZpbqFfYyoHtSlGKQM9+YsT65wEcagqWpeCZS2fRBEC8E8P1e7Q9RXe6cWbefnSSlSOhuqbW9Q6cu/ZNX09rkUZD0z6rxYkHMqk4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1780 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+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.7.114; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com 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, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-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: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" It's better to use accessor function instead of bs->read_only directly. In some places use bdrv_is_writable() instead of checking both BDRV_O_RDWR set and BDRV_O_INACTIVE not set. In bdrv_open_common() it's a bit strange to add one more variable, but we are going to drop bs->read_only in the next patch, so new ro local variable substitutes it here. Signed-off-by: Vladimir Sementsov-Ogievskiy --- block.c | 11 +++++++---- block/block-backend.c | 2 +- block/commit.c | 2 +- block/io.c | 4 ++-- block/qapi.c | 2 +- block/qcow2-snapshot.c | 2 +- block/qcow2.c | 5 ++--- block/snapshot.c | 2 +- block/vhdx-log.c | 2 +- 9 files changed, 17 insertions(+), 15 deletions(-) diff --git a/block.c b/block.c index 0dc97281dc..0270b609c4 100644 --- a/block.c +++ b/block.c @@ -1720,6 +1720,7 @@ static int bdrv_open_common(BlockDriverState *bs, Blo= ckBackend *file, QemuOpts *opts; BlockDriver *drv; Error *local_err =3D NULL; + bool ro; =20 assert(bs->file =3D=3D NULL); assert(options !=3D NULL && bs->options !=3D options); @@ -1772,15 +1773,17 @@ static int bdrv_open_common(BlockDriverState *bs, B= lockBackend *file, =20 bs->read_only =3D !(bs->open_flags & BDRV_O_RDWR); =20 - if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv, bs->read_only)) { - if (!bs->read_only && bdrv_is_whitelisted(drv, true)) { + ro =3D bdrv_is_read_only(bs); + + if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv, ro)) { + if (!ro && bdrv_is_whitelisted(drv, true)) { ret =3D bdrv_apply_auto_read_only(bs, NULL, NULL); } else { ret =3D -ENOTSUP; } if (ret < 0) { error_setg(errp, - !bs->read_only && bdrv_is_whitelisted(drv, true) + !ro && bdrv_is_whitelisted(drv, true) ? "Driver '%s' can only be used for read-only devic= es" : "Driver '%s' is not whitelisted", drv->format_name); @@ -1792,7 +1795,7 @@ static int bdrv_open_common(BlockDriverState *bs, Blo= ckBackend *file, assert(qatomic_read(&bs->copy_on_read) =3D=3D 0); =20 if (bs->open_flags & BDRV_O_COPY_ON_READ) { - if (!bs->read_only) { + if (!ro) { bdrv_enable_copy_on_read(bs); } else { error_setg(errp, "Can't use copy-on-read on read-only device"); diff --git a/block/block-backend.c b/block/block-backend.c index de5496af66..21b834e9df 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -2269,7 +2269,7 @@ void blk_update_root_state(BlockBackend *blk) assert(blk->root); =20 blk->root_state.open_flags =3D blk->root->bs->open_flags; - blk->root_state.read_only =3D blk->root->bs->read_only; + blk->root_state.read_only =3D bdrv_is_read_only(blk->root->bs); blk->root_state.detect_zeroes =3D blk->root->bs->detect_zeroes; } =20 diff --git a/block/commit.c b/block/commit.c index b89bb20b75..b7f0c7c061 100644 --- a/block/commit.c +++ b/block/commit.c @@ -453,7 +453,7 @@ int bdrv_commit(BlockDriverState *bs) return -EBUSY; } =20 - ro =3D backing_file_bs->read_only; + ro =3D bdrv_is_read_only(backing_file_bs); =20 if (ro) { if (bdrv_reopen_set_read_only(backing_file_bs, false, NULL)) { diff --git a/block/io.c b/block/io.c index 1e826ba9e8..323854d063 100644 --- a/block/io.c +++ b/block/io.c @@ -1973,7 +1973,7 @@ bdrv_co_write_req_prepare(BdrvChild *child, int64_t o= ffset, int64_t bytes, =20 bdrv_check_request(offset, bytes, &error_abort); =20 - if (bs->read_only) { + if (bdrv_is_read_only(bs)) { return -EPERM; } =20 @@ -3406,7 +3406,7 @@ int coroutine_fn bdrv_co_truncate(BdrvChild *child, i= nt64_t offset, bool exact, if (new_bytes) { bdrv_make_request_serialising(&req, 1); } - if (bs->read_only) { + if (bdrv_is_read_only(bs)) { error_setg(errp, "Image is read-only"); ret =3D -EACCES; goto out; diff --git a/block/qapi.c b/block/qapi.c index 943e7b15ad..dc69341bfe 100644 --- a/block/qapi.c +++ b/block/qapi.c @@ -59,7 +59,7 @@ BlockDeviceInfo *bdrv_block_device_info(BlockBackend *blk, =20 info =3D g_malloc0(sizeof(*info)); info->file =3D g_strdup(bs->filename); - info->ro =3D bs->read_only; + info->ro =3D bdrv_is_read_only(bs); info->drv =3D g_strdup(bs->drv->format_name); info->encrypted =3D bs->encrypted; =20 diff --git a/block/qcow2-snapshot.c b/block/qcow2-snapshot.c index 2e98c7f4b6..71ddb08c21 100644 --- a/block/qcow2-snapshot.c +++ b/block/qcow2-snapshot.c @@ -1026,7 +1026,7 @@ int qcow2_snapshot_load_tmp(BlockDriverState *bs, int new_l1_bytes; int ret; =20 - assert(bs->read_only); + assert(bdrv_is_read_only(bs)); =20 /* Search the snapshot */ snapshot_index =3D find_snapshot_by_id_and_name(bs, snapshot_id, name); diff --git a/block/qcow2.c b/block/qcow2.c index 39b91ef940..ee4530cdbd 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1723,8 +1723,7 @@ static int coroutine_fn qcow2_do_open(BlockDriverStat= e *bs, QDict *options, =20 /* Clear unknown autoclear feature bits */ update_header |=3D s->autoclear_features & ~QCOW2_AUTOCLEAR_MASK; - update_header =3D - update_header && !bs->read_only && !(flags & BDRV_O_INACTIVE); + update_header =3D update_header && bdrv_is_writable(bs); if (update_header) { s->autoclear_features &=3D QCOW2_AUTOCLEAR_MASK; } @@ -1811,7 +1810,7 @@ static int coroutine_fn qcow2_do_open(BlockDriverStat= e *bs, QDict *options, bs->supported_truncate_flags =3D BDRV_REQ_ZERO_WRITE; =20 /* Repair image if dirty */ - if (!(flags & (BDRV_O_CHECK | BDRV_O_INACTIVE)) && !bs->read_only && + if (!(flags & BDRV_O_CHECK) && bdrv_is_writable(bs) && (s->incompatible_features & QCOW2_INCOMPAT_DIRTY)) { BdrvCheckResult result =3D {0}; =20 diff --git a/block/snapshot.c b/block/snapshot.c index e8ae9a28c1..6702c75e42 100644 --- a/block/snapshot.c +++ b/block/snapshot.c @@ -415,7 +415,7 @@ int bdrv_snapshot_load_tmp(BlockDriverState *bs, error_setg(errp, "snapshot_id and name are both NULL"); return -EINVAL; } - if (!bs->read_only) { + if (!bdrv_is_read_only(bs)) { error_setg(errp, "Device is not readonly"); return -EINVAL; } diff --git a/block/vhdx-log.c b/block/vhdx-log.c index 404fb5f3cb..7672161d95 100644 --- a/block/vhdx-log.c +++ b/block/vhdx-log.c @@ -801,7 +801,7 @@ int vhdx_parse_log(BlockDriverState *bs, BDRVVHDXState = *s, bool *flushed, } =20 if (logs.valid) { - if (bs->read_only) { + if (bdrv_is_read_only(bs)) { bdrv_refresh_filename(bs); ret =3D -EPERM; error_setg(errp, --=20 2.29.2 From nobody Mon May 6 00:05:44 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1622130253; cv=pass; d=zohomail.com; s=zohoarc; b=MzUKp+d8voUzq3MnBJopSnN2eVAaFvojUn4BvkSgEb8rWGrDQWc7p3AzigSobZp4sKgsX5g2aTfAc7fSaSgyZUqeoTYqlXWnsTIuNxCKu/qAvdHeIQ1E6/nmWPwSwdHfDa4QogInD1Yp8FChIZISNRuBtf54Alh6JVX/9+rhHFU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1622130253; 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=aRGPwpJuuMrY7C2mhOvOGXuHunyhZk/yXi1/6Ynf4JA=; b=kZoXor+07XYaup6vQvLGs3/sMVohiEs6AbtzSZNi1BN06zsQc8FpXPvN2g605kBU74PuiKbTNH/I/MC20aDcdM5LWdoPcmI/3/770bYETxvSvkaruHaEFkxXN1GjPArNGtTVkvLsxlv0RawAFv00i5gZ2dITm5Ql8vaMxy7fZSc= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine 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 1622130253765852.0513767345932; Thu, 27 May 2021 08:44:13 -0700 (PDT) Received: from localhost ([::1]:58568 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmIBA-0004CP-Mj for importer2@patchew.org; Thu, 27 May 2021 11:44:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54810) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmI8V-0007vz-O5; Thu, 27 May 2021 11:41:27 -0400 Received: from mail-eopbgr70114.outbound.protection.outlook.com ([40.107.7.114]:51616 helo=EUR04-HE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmI8T-0006YN-Sh; Thu, 27 May 2021 11:41:27 -0400 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM5PR0801MB1780.eurprd08.prod.outlook.com (2603:10a6:203:39::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.27; Thu, 27 May 2021 15:41:19 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f928:f4f2:77c0:74b4]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f928:f4f2:77c0:74b4%7]) with mapi id 15.20.4173.022; Thu, 27 May 2021 15:41:19 +0000 Received: from localhost.localdomain (185.215.60.226) by HE1PR0901CA0043.eurprd09.prod.outlook.com (2603:10a6:3:45::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.20 via Frontend Transport; Thu, 27 May 2021 15:41:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C0POvWC2bWUuewB/cKPB2I1JVSSxzr0H18/cBXtC7A2KvbZDxKKKk/Ky9vj4YWGbnTaHoq+WVquCTW7kEkZMmmPhXWEKlUeHCNzr6//5ErMJoJ3g20BJIBYYvGj2kULMHdIOSj6vGYTgUOh/gG381ikSKicLnUoJtr5CGFK2ZMh20/qVAudjLYuXY5awj1wyxifmrPYIIqUuNY7+24TYvvvu+tfnbvrtbqm4YAutNQIbjpMyTKINuQs4hioTF9AtQubGQfm0zxwJ4DV06mKclriOiNzIN0HPb4qtGidt2Gm07QpshTybmJXBBe7euXk/Lbk9/FXVDEOHeEWiYtVmEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aRGPwpJuuMrY7C2mhOvOGXuHunyhZk/yXi1/6Ynf4JA=; b=E1A60mwv4NVJr1p0L10Qir7Hkn0uFZuWbIwTB4B4wJVqVBgSFnjEAfqW5uVSAqEJMiwDO+7Bglsn7EjEqVBOJ5QtGZHPKRJWq5rqUkHQcSKgiORsrOs+qLq6qB5AkmJh0jPfPtp/Dlvr5HBvPwOHdbCUMU1HfzCzNdxVaz8wwqKi9tsK0JSz7XAnWAKwRGgu3GH6W1PocQEH4es3aXn6BO6hcRZVR9+F74FoAyi5LMjkKxV7j7mi9AKxCucoG6p0B8oIxtgP86ev55zGsTLAgSUtkQ5YiWuy0BDMhoo7UGUHcYu9+j2VsSq8OtAWNah+6nqhx5cFu9xwu9kC/2Vb3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aRGPwpJuuMrY7C2mhOvOGXuHunyhZk/yXi1/6Ynf4JA=; b=gEh/EXktXUHLvn+xL8a6QwDW2mV+SFBPZqf41coLh0tt/BBQpB/WAgnEriLUcgYPk+B/A6qtegiEuqM/FfMzQ/vaWEubVP67X+Qmu6tzinRAHxbsoqPlOxs31NMj5J3MJgGVKmAb0mbw3VrikqGbLtRWonafh4y+4nS69QQUyGE= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, codyprime@gmail.com, armbru@redhat.com, fam@euphon.net, stefanha@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, mreitz@redhat.com, kwolf@redhat.com Subject: [PATCH v2 2/3] block: drop BlockDriverState::read_only Date: Thu, 27 May 2021 18:40:55 +0300 Message-Id: <20210527154056.70294-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210527154056.70294-1-vsementsov@virtuozzo.com> References: <20210527154056.70294-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.226] X-ClientProxiedBy: HE1PR0901CA0043.eurprd09.prod.outlook.com (2603:10a6:3:45::11) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 58ac015b-d21f-49a5-4aee-08d92125df09 X-MS-TrafficTypeDiagnostic: AM5PR0801MB1780: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:208; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1h1j0W0GYouBFP8MzuX7+JYLD2iz+JGwKbh/i9g6m7XB6uZNl91eBoSM2wjyDZGvQbORUPHGopX+NxbdpmT4spXr66eAXIhdimB6w3S9KRwAlvHzpGNC1pcDhFBA+6uEMJLThKGAOVpTipDeAjyXOec6hbffuil2zjCM/Ce4WykeYEolkEz6tzxVFCgi2FdR+VSlXgpyjBOtRikGSrQ2CfQz5M9Z1oFoEagW5Jv+YUgnR42BOtF+/o0MwCSny0D+kHn/jFovnpLQQwvkm/MJQZQawsPZjQJQhLd2SqHbcgKi/v29kXR9iIs8XsDW1mZRo9yq8uvlHRX4quPnas9/DaGTc7HqJt+uZnSxj8h/hEVc5vM+cSLE3FfGCHDq3i/tpZYIMYRBZiSuwtCVhDqkFphS0KOLTt8/B/t4A4j7NQlbTUz0/PO6cHXbexazsTjL9Jc+VUrNFOdc04gmpXObtHHftEi6sQ3fcd39Kbv8cBbgtx0KcFipekIM0FUaAUiOLmouaOkJmAham516dYr+/YzCYXmgxejbz17r7iSHIwpG1mdU0POd9ns3PSS5z4c48C5uYuGkkrgUvUPQaIvFrWV6OfJrWkVVxR/MM5ruwWRPk9R+H6qGhUXsliWlby1fjXmKXUfygegcUUJs9AZo+2WhOUHd1c/PyQyDrovqtUhwFzVEhwW/ZedwV0XUcj2j X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(39840400004)(136003)(376002)(396003)(366004)(52116002)(83380400001)(186003)(38350700002)(16526019)(478600001)(4326008)(38100700002)(1076003)(6666004)(316002)(6506007)(86362001)(5660300002)(66476007)(66556008)(956004)(8936002)(2616005)(66946007)(26005)(6486002)(6512007)(2906002)(6916009)(8676002)(36756003)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?jtgHqKzM6dUzjLhrwM2rSG8kWQZhc6kAKfSsoGdEcKUgkN8mtoq8bGupWB+s?= =?us-ascii?Q?6X8xbN0tz7VbF+l/0ed6aF0zl4umu9cy+ka7rOxL2P3y038keiA63YK1uf8J?= =?us-ascii?Q?AzVa1kui2Y+qkNQOTnki8BSLxmldz2pYDhbv9TNwLbnFOmaLtpFalsZImDT9?= =?us-ascii?Q?F7PS2H2/agVOsnHuVEHzSPl+S8duT+eOhgmk5asAyskFZnrabStIHcWFslgG?= =?us-ascii?Q?kNK7znO33lG2Jn0uVJlqbOSDoHWpVR0g2BdVbXmNdaFDr7noo9T5fJJ78aZI?= =?us-ascii?Q?pZuev6meo1HjXXbO3U9ZwyjDLF1Jp1IYgUjgfWv3bm+T6SMUAKn0oVc0Sz1D?= =?us-ascii?Q?mgjSli23j1l1RVTW1jXZM0fyoDowInfLyf04Pe3TZfFJJ7e/ChOMjdjAfS9D?= =?us-ascii?Q?3z6GKtr6fj1UQ7cpp/+CFnBUw8+LcNi4oCgZs9Z21kDYo8wbCdKHL+40KSmo?= =?us-ascii?Q?NueQFfYrEjtShl/2TAflQUyAfG3dFLedIgGwA/jw5RYHvaPOB841zdGTqTl/?= =?us-ascii?Q?hGRF0/qLK4Y7M3ozGBKSGTkN+qQQj3XqxMDd2E4aisp50Ms+drI22TzX6+3J?= =?us-ascii?Q?kDAtLnUg9EdzjhuMNvkteJasSd9Oq2yeSNQQHtfVSInLa+L57PhgMs8X76W6?= =?us-ascii?Q?Enw0fetzEPWe64c6+LvyFls/VAQ+hwWZBCDkBgzm+WQs6kFT29oUf5wSwwVB?= =?us-ascii?Q?4zBbOkUmEirVNk9zPTXA10hcG+KQfkNx1E38McmXMRgnSBDcxLlcVB/DjuGg?= =?us-ascii?Q?IihkvQgOGiDqhfqPVz5fEF2d7FCD5fIzhvyryWr0/xAqiZ5KgUFn2NcYDYCW?= =?us-ascii?Q?WJEyCeW+3S5Q5wRad10KtHW1S3sw/UNCmH5VfA7N5PKSL1QZm/6RSpfRzlZE?= =?us-ascii?Q?3Pe2SM+1yJH7c6QmKETsYqRShKq1W04DVD0gCkuthgd38U3cuP6ZGPC+MJtc?= =?us-ascii?Q?bBD+37VPL7s/zEP8yzZwcp9aTU6c+PAUUkVMKHCo4qVHbRIrjnIuI77LIBEx?= =?us-ascii?Q?L+TFQMHSnjO6QEpmlEEYwsbw74+L9QpihxIgkxPm9pJS7CusPPNz7uUkyAF/?= =?us-ascii?Q?u9mX6XXSpzptXDwwBJEqyqbJNS+dBjuuqgY0oUk6BGJMrZuchM6Pj2giHOX2?= =?us-ascii?Q?6hjvvvBsD3tQ+PHtQx17SuyO2CrPhJasidx9I42ZkBMEP/Hvyf7C/y05iG/W?= =?us-ascii?Q?ih3PquEpkZKfP37NcNbifwctBAFR9Evu2j2fcE7bMDdpJLS/a/DRgdS0XhtG?= =?us-ascii?Q?VPF+sYCyACz23S23I7Zr/k/urJFAPRB8FZPCEIhJ57pZOaLIMtSgapVrVQCj?= =?us-ascii?Q?fszlC8I61Bb7zMpLBVPSzcBb?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 58ac015b-d21f-49a5-4aee-08d92125df09 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2021 15:41:19.0275 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dzO97RmvonKCbn2HZ2TRsge5/EJKrnkWA97lZLjOhwQ/WGBFqyyDYHcAXNfmr5phcoUIbtgxE3G12h1LGJL7iQUVV/dwrwk4CdCuBMqqOag= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1780 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+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.7.114; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com 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, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-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: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" This variable is just a cache for !(bs->open_flags & BDRV_O_RDWR), which we have to synchronize everywhere. Let's just drop it and consistently use bdrv_is_read_only(). Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/block/block_int.h | 1 - block.c | 7 +------ tests/unit/test-block-iothread.c | 6 ------ 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/include/block/block_int.h b/include/block/block_int.h index b2c8b09d0f..09661a134b 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -843,7 +843,6 @@ struct BlockDriverState { * locking needed during I/O... */ int open_flags; /* flags used to open the file, re-used for re-open */ - bool read_only; /* if true, the media is read only */ bool encrypted; /* if true, the media is encrypted */ bool sg; /* if true, the device is a /dev/sg* */ bool probed; /* if true, format was probed rather than specified */ diff --git a/block.c b/block.c index 0270b609c4..d36329e712 100644 --- a/block.c +++ b/block.c @@ -265,7 +265,7 @@ void bdrv_parse_filename_strip_prefix(const char *filen= ame, const char *prefix, * image is inactivated. */ bool bdrv_is_read_only(BlockDriverState *bs) { - return bs->read_only; + return !(bs->open_flags & BDRV_O_RDWR); } =20 int bdrv_can_set_read_only(BlockDriverState *bs, bool read_only, @@ -317,7 +317,6 @@ int bdrv_apply_auto_read_only(BlockDriverState *bs, con= st char *errmsg, goto fail; } =20 - bs->read_only =3D true; bs->open_flags &=3D ~BDRV_O_RDWR; =20 return 0; @@ -1549,7 +1548,6 @@ static int bdrv_open_driver(BlockDriverState *bs, Blo= ckDriver *drv, } =20 bs->drv =3D drv; - bs->read_only =3D !(bs->open_flags & BDRV_O_RDWR); bs->opaque =3D g_malloc0(drv->instance_size); =20 if (drv->bdrv_file_open) { @@ -1771,8 +1769,6 @@ static int bdrv_open_common(BlockDriverState *bs, Blo= ckBackend *file, trace_bdrv_open_common(bs, filename ?: "", bs->open_flags, drv->format_name); =20 - bs->read_only =3D !(bs->open_flags & BDRV_O_RDWR); - ro =3D bdrv_is_read_only(bs); =20 if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv, ro)) { @@ -4548,7 +4544,6 @@ static void bdrv_reopen_commit(BDRVReopenState *reope= n_state) bs->explicit_options =3D reopen_state->explicit_options; bs->options =3D reopen_state->options; bs->open_flags =3D reopen_state->flags; - bs->read_only =3D !(reopen_state->flags & BDRV_O_RDWR); bs->detect_zeroes =3D reopen_state->detect_zeroes; =20 if (reopen_state->replace_backing_bs) { diff --git a/tests/unit/test-block-iothread.c b/tests/unit/test-block-iothr= ead.c index 8cf172cb7a..c39e70b2f5 100644 --- a/tests/unit/test-block-iothread.c +++ b/tests/unit/test-block-iothread.c @@ -194,13 +194,11 @@ static void test_sync_op_truncate(BdrvChild *c) g_assert_cmpint(ret, =3D=3D, -EINVAL); =20 /* Error: Read-only image */ - c->bs->read_only =3D true; c->bs->open_flags &=3D ~BDRV_O_RDWR; =20 ret =3D bdrv_truncate(c, 65536, false, PREALLOC_MODE_OFF, 0, NULL); g_assert_cmpint(ret, =3D=3D, -EACCES); =20 - c->bs->read_only =3D false; c->bs->open_flags |=3D BDRV_O_RDWR; } =20 @@ -236,13 +234,11 @@ static void test_sync_op_flush(BdrvChild *c) g_assert_cmpint(ret, =3D=3D, 0); =20 /* Early success: Read-only image */ - c->bs->read_only =3D true; c->bs->open_flags &=3D ~BDRV_O_RDWR; =20 ret =3D bdrv_flush(c->bs); g_assert_cmpint(ret, =3D=3D, 0); =20 - c->bs->read_only =3D false; c->bs->open_flags |=3D BDRV_O_RDWR; } =20 @@ -256,13 +252,11 @@ static void test_sync_op_blk_flush(BlockBackend *blk) g_assert_cmpint(ret, =3D=3D, 0); =20 /* Early success: Read-only image */ - bs->read_only =3D true; bs->open_flags &=3D ~BDRV_O_RDWR; =20 ret =3D blk_flush(blk); g_assert_cmpint(ret, =3D=3D, 0); =20 - bs->read_only =3D false; bs->open_flags |=3D BDRV_O_RDWR; } =20 --=20 2.29.2 From nobody Mon May 6 00:05:44 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1622130400; cv=pass; d=zohomail.com; s=zohoarc; b=dUDOXOj8mP8tlxEkV3bQUdvMbJUekR9eJvRFbD4/48P/kJgiTcW0Cb2px4TegSBweEC6gAauN8+NVYvzyDveG2aUA48/76Zp2GuxUznfBaPIsMu1dgNl/2WNGeV5mTQAW4iIZ5ipOazpvLAVWtqLf3Ju1nfIMAbxIoNjpNXgEQ8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1622130400; 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=4ExAh/DKXh8TiHA2uB/rDplL+F7OyVxbCm0upA4z5UQ=; b=a96FatGFsWi14uLgkHzn7n30qsl7ZWrrhYGDopnTFe4GwX+NVktxDV4qp14OYPSJQXThtQ/wc45FZCWnJ5XK0xFwth476AbfMQizqhtriBGWuidpIBE8/O5S0AJYjo+sEX8tMhEj9mWf2oQxz1s5HF9Bl91kSv4WfAP/s+XfmjE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine 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 1622130399182572.5844665852185; Thu, 27 May 2021 08:46:39 -0700 (PDT) Received: from localhost ([::1]:32768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmIDS-0005so-PO for importer2@patchew.org; Thu, 27 May 2021 11:46:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54822) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmI8Y-000842-7i; Thu, 27 May 2021 11:41:30 -0400 Received: from mail-eopbgr70114.outbound.protection.outlook.com ([40.107.7.114]:51616 helo=EUR04-HE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmI8W-0006YN-F3; Thu, 27 May 2021 11:41:29 -0400 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM5PR0801MB1780.eurprd08.prod.outlook.com (2603:10a6:203:39::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.27; Thu, 27 May 2021 15:41:20 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f928:f4f2:77c0:74b4]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f928:f4f2:77c0:74b4%7]) with mapi id 15.20.4173.022; Thu, 27 May 2021 15:41:20 +0000 Received: from localhost.localdomain (185.215.60.226) by HE1PR0901CA0043.eurprd09.prod.outlook.com (2603:10a6:3:45::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.20 via Frontend Transport; Thu, 27 May 2021 15:41:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OONGA4MxyTNmRSkP/jP4cXxulw2Sk27RrAsYeMODeQSq6EPsdP8cvChGMd8vIqxDqMSzYkllhhiGhu5jjf8qoP4oKUgj6Z/HlHTuhOlemdb6G+dEutquOMzxQlG25CQpy0Eo5AmCpjw575EByZ78P7cB8WyY2ft9qoTyfFvnWfkbdmDfBUwys5Riay8QOUERcjHsdRV4L739MAgohR+D3lCgqkptz10etHT3e5914i/XVKK7/RUNy8JSwPvcA39Zw4XJ0pvpXp2SK7KlcO7o6r+k3Dv8c3bf+ZkaSRf86B3oiYZWYUW6voNOOwn3ohw2ZOMoSaF6kDMDLAV+iJ9BAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4ExAh/DKXh8TiHA2uB/rDplL+F7OyVxbCm0upA4z5UQ=; b=kYkEFHVTtPu7xemHJxrtzVtUfii9lk3WacUFTOzbgyWnzpeHVt0uy/7Q86PbF4S173mkVVWigYelvIs+36/A9hcG9PtgjOkzusuAR/K81P58WbzFipF3ckvdY60bdl0iuFHO1OV0nGsf53TbmhiXSb4Xm2FTEx18erH0mLbdVj/N9eCI0oKiTHEfH1D5jrFyvzqqQkvM9OLmS1wLEcpqjLOMZVoELATGJNqKyWymt07V2ZEOZDeEpM7klfWsJSGovVv1UL0wNpCevR/52HWXIwFwJ6tphRGn9/C8g9ugTdd+trMVIaOQhptQlutw1n/cX4cM/hEmSG6yKLFYj7CTJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4ExAh/DKXh8TiHA2uB/rDplL+F7OyVxbCm0upA4z5UQ=; b=L0+/Br38OdV0QRymkqWlNmBYxwUz8wwVZa/zPBtPsExxr9bbYIRMbpFTPdHvJ2xdhuv1mOFNtYr8ppBCH6U2VnSH5rNB++9ZpKq9mHy0ChImpirT7ly0GHYQiQQdve0fNgu6oC17ejw4z8TvTbYrBvtwOR7iYKNlCAcFTMnGYuo= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, codyprime@gmail.com, armbru@redhat.com, fam@euphon.net, stefanha@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, mreitz@redhat.com, kwolf@redhat.com Subject: [PATCH v2 3/3] block: drop BlockBackendRootState::read_only Date: Thu, 27 May 2021 18:40:56 +0300 Message-Id: <20210527154056.70294-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210527154056.70294-1-vsementsov@virtuozzo.com> References: <20210527154056.70294-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.226] X-ClientProxiedBy: HE1PR0901CA0043.eurprd09.prod.outlook.com (2603:10a6:3:45::11) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 20bdaf5e-2012-40cd-f08a-08d92125dfc2 X-MS-TrafficTypeDiagnostic: AM5PR0801MB1780: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2733; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZxxiOnZ3uKTWjmD/zCCkjl8pcBScBeabXscNHqKwBEMJ0r678xu7HegjqvHg0zmvkmn9QmUO3CDCT+RFmD0pjkooeIWfPAnI2uBCIBflgFiRqr4hGgz5W3SeSVqGSneUAboc39veXR81WB2tklqnN4e156p0nX3QUZczwJFHVpeOLCOAi3lhVXN6TngPpejrakI2aR8yyotTjtW3ekbRk8BgX5tBDWtARTP6tQFzj+gDTgKtcfUE1OZDf439InH/VWKFq2Y8XRHWoezOdJTW/xOVr44/8Z44d5iQwpg05XVD/IILrC0jRl8hepn870XZpgh6oTdWFkPsU31FDiaWQPdaWZi+jDMNaCX4UPH+FRfFvfmareEvbsE7YDC2DLju6egx4hP7Vs92zr/40HQ2Wt/7xu/SPONefaetBn4zNa8QXPrbLnwQpIsHWg4E3T4U1fCGr6kYABUCRuJ26fvjgiILS3OaAGYqFZr7frnBFKuMP2tcDm20Xku3IpUIAhSrmUjcut3+pScNzgIHnlp0pQvsuOIQJLrveTnyD593Muq+w5qq57GO0uZ0deqrD9Qhqvxxvx2VNBzmcYdK5rc6gOZIuD9XL+xOmYoFafV2i5Lqc0Ap3+bCM+uY9S58wIJCK55yx+IswEbha3xXAAamF2NYPAC7LmeNU4NFJ/St18z8h6XTsyIsZrIjgnW3Af/A X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(39840400004)(136003)(376002)(396003)(366004)(52116002)(83380400001)(186003)(38350700002)(16526019)(478600001)(4326008)(38100700002)(1076003)(6666004)(316002)(6506007)(86362001)(5660300002)(66476007)(66556008)(956004)(8936002)(2616005)(66946007)(26005)(6486002)(6512007)(2906002)(6916009)(8676002)(36756003)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?vTfZ0fl1ME6uBUBvsR09I6eFH9m8DTbWsoeVZpPVJ/kkGwLFao6Q2s1j6qY9?= =?us-ascii?Q?DPx4j7bye8LgAFUswS2MD+7/6goDvYkqc5XC/fghbV2O0zTqWCWX0tL2Txo1?= =?us-ascii?Q?7whrOyZ//01tWWVSP3hm/jVH8DDyoiKylJfNZZDhG98sde8gFNPxCcabuVcr?= =?us-ascii?Q?VPzdP+viIwVtZJIYJ4WL6ILkPDl09ObGgY2rLBgN6LPfFwHRnxrYRe+TPew+?= =?us-ascii?Q?gmzLAJZMhdsYMZcwSrR2KakCVP8qDszl4L5t8YbBwtWbI08P1QW74Rq6Lb3C?= =?us-ascii?Q?jdUsskXo3B8DYLB1PJIA48frpu0OrTS8QmDYz7QRVCMCw5jYvw+or+c8uQEm?= =?us-ascii?Q?ITt1k3bHFnQZ9jYA7wXkh48A5agH/WRzZC1Y4mmQ2dlswG5WOfK3+QyS5qTO?= =?us-ascii?Q?OBFFB8zm6nxelki/EhW3H+TUhCgN006tV9NzzFhuic6R3Oc11vEDhhMY7wcr?= =?us-ascii?Q?DKoGlNnQEU80VcGhYwEvZcEMqet01p3wrd1X2MaAhqcfLpC3sPVOIRLozATc?= =?us-ascii?Q?mLRVYA3+18PIYtIiaPvxSVXHf9BnPXGdfKKYJu0/XK7yt+WQFErZSV6ZTC0o?= =?us-ascii?Q?WJVkuEVLkpkwQNhOl41T0gyzBtkcOD6OtHgcanzLB8I/WMzP1LKZi3lLw+4x?= =?us-ascii?Q?kw+/pQSWKC96ncIV4+aCUBJFxezk5ZzbcsFMJruXis/c2Vv7A4f1T9aEsEDn?= =?us-ascii?Q?W6aU6TKgtQxEXgtCPrvxN6ukFEbj61Si1QAeJ54HsRsVs+fMLHpZPXvetAx6?= =?us-ascii?Q?XDGbuxl+0P5lqYPf4BByAn0ZsXp/hZ5qVeErlUIv2Zs8Aobol+knvhhbKsoe?= =?us-ascii?Q?nF+DJIv06wBijYB35gkKJZaGKbMeffMIpjtso6ihTZg47BzzE7DVJbg6K8oE?= =?us-ascii?Q?yuC5jzgA9Kq/+kA/RRhhRWWBjXQPTxnWM7PsqJ0WuJuiRDrBVOEupu22nH/n?= =?us-ascii?Q?/H4UsTEhExTWmXLhQsAzlSROm/LBCX98V0NhUFGdaWa0C29YioeuSPhzzsUg?= =?us-ascii?Q?uCjYvqllY252YYvwU9GMg2mAZjE/1/J67kfGUdfwvHpLAYeqRuk6qrCnGNWQ?= =?us-ascii?Q?zOLr1jmH4D6McPzaB0QEuYBTlO6R35NvniH6NmLZGPL9bumra6R3Y/LrAq9f?= =?us-ascii?Q?lS79+7ZWjg06sTTIQd3VMrx17zyjR4RSldYR0kvUeySEhcuQHys0EnsSbB89?= =?us-ascii?Q?ry29FpuKOskSafnlKze4PQrny81VIDScxH3ZFne9pvPKk0pkwqM/F/b84m4R?= =?us-ascii?Q?hlB7XPVrf37eanPyc0R/52l5g9yGy4x6Rzf57+bijRpEG3xWBiITBh3D1iTa?= =?us-ascii?Q?yui3vI3l36YT3TObzidyb8yO?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20bdaf5e-2012-40cd-f08a-08d92125dfc2 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2021 15:41:20.2750 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SyRHZIyrSAawmDg+sxB1os258ZBjZMzKuEfnWf/uUCNXXDS0tkSTerhQf7SDH7nSuB1BM3Uu9VxRSq3ZaqjRai1z4K4kfPRfAWagDYR6w2I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1780 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+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.7.114; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com 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, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-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: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Instead of keeping additional boolean field, let's store the information in BDRV_O_RDWR bit of BlockBackendRootState::open_flags. Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/block/block_int.h | 1 - block/block-backend.c | 10 ++-------- blockdev.c | 3 +-- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/include/block/block_int.h b/include/block/block_int.h index 09661a134b..057d88b1fc 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -1007,7 +1007,6 @@ struct BlockDriverState { =20 struct BlockBackendRootState { int open_flags; - bool read_only; BlockdevDetectZeroesOptions detect_zeroes; }; =20 diff --git a/block/block-backend.c b/block/block-backend.c index 21b834e9df..d1a33a2c8e 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -1852,7 +1852,7 @@ bool blk_supports_write_perm(BlockBackend *blk) if (bs) { return !bdrv_is_read_only(bs); } else { - return !blk->root_state.read_only; + return blk->root_state.open_flags & BDRV_O_RDWR; } } =20 @@ -2269,7 +2269,6 @@ void blk_update_root_state(BlockBackend *blk) assert(blk->root); =20 blk->root_state.open_flags =3D blk->root->bs->open_flags; - blk->root_state.read_only =3D bdrv_is_read_only(blk->root->bs); blk->root_state.detect_zeroes =3D blk->root->bs->detect_zeroes; } =20 @@ -2288,12 +2287,7 @@ bool blk_get_detect_zeroes_from_root_state(BlockBack= end *blk) */ int blk_get_open_flags_from_root_state(BlockBackend *blk) { - int bs_flags; - - bs_flags =3D blk->root_state.read_only ? 0 : BDRV_O_RDWR; - bs_flags |=3D blk->root_state.open_flags & ~BDRV_O_RDWR; - - return bs_flags; + return blk->root_state.open_flags; } =20 BlockBackendRootState *blk_get_root_state(BlockBackend *blk) diff --git a/blockdev.c b/blockdev.c index 834c2304a1..f08192deda 100644 --- a/blockdev.c +++ b/blockdev.c @@ -583,8 +583,7 @@ static BlockBackend *blockdev_init(const char *file, QD= ict *bs_opts, =20 blk =3D blk_new(qemu_get_aio_context(), 0, BLK_PERM_ALL); blk_rs =3D blk_get_root_state(blk); - blk_rs->open_flags =3D bdrv_flags; - blk_rs->read_only =3D read_only; + blk_rs->open_flags =3D bdrv_flags | (read_only ? 0 : BDRV_O_RDW= R); blk_rs->detect_zeroes =3D detect_zeroes; =20 qobject_unref(bs_opts); --=20 2.29.2