From patchwork Tue Feb 2 12:49:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061551 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1682BC433DB for ; Tue, 2 Feb 2021 12:52:12 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6561B64F45 for ; Tue, 2 Feb 2021 12:52:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6561B64F45 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:43960 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vAA-0003CD-2D for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:52:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46740) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8g-00013c-Fn; Tue, 02 Feb 2021 07:50:38 -0500 Received: from mail-eopbgr60139.outbound.protection.outlook.com ([40.107.6.139]:33232 helo=EUR04-DB3-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 1l6v8e-0001qn-2e; Tue, 02 Feb 2021 07:50:38 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kzoF9UujkTpwyam736HcVttm+KkxAYucZxCHY8S8MSV/gfpyIZQtt5PRIpzPA4k0hhLBmqP6BL535coZgJQlLJDLKei/cCoDgxaoTq8NjOHWm74FBWLRWXq03JxMUrswiJBAeoz+0XDseRH+8NWSuUnhUvpOo9DmDnFXU1h/c98L8c7C0dki5hZgKdu3htKdKJlKWOwIQYKlD3IKSQXceLAQR9KctQ9ciOIAdsdgJSZWOIHrFZE7JRGngFF7FqzmjQqD9CzL2PDomCNMnqydGIjw5/4uEJc4ICj900LYr0tU+uQ20AtG3doxNO89FLT4LeofcSIgkUXxRWUj3lay6w== 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=Yo/s5OXrrpKMllUFSAC+QazhVEw8SvH8HAAlL0zj644=; b=GYMxLizsew3ZDpCz7M9W2OH5vQqlL65LYGpbf9h8ZMoo6kWMoSDbhX9fU6sWyh8zbdglaoHT0a7Erw3MwEOTCRA8HmvpN8UlVAF02hFhK9HsEDXDB0Zdf8BvYWsCmy817bt2xwlk2Yq/eTpfJC9ag3JatSjNXIa4twnBpuNRXDnxTFVuoOIDszFCwulM6/UAp0KxUkVnQq/QJItxRxm1FXMwGCOhlle4Eaysw0XvTIDB2Ap7zHnKeGhTe+1vkrUhERte2llQts6R1eJQ9iLXx/tmb9CeCjX0q3zgM0BEEz/esl7lDAOjFPAzmcSaFZ45SeERa/2p1AtP6RF5ff5HXQ== 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=Yo/s5OXrrpKMllUFSAC+QazhVEw8SvH8HAAlL0zj644=; b=EDROvWEkGRZJVZYnYBxTO+e9F+EQPerMY/wZ9doTqr1MlDg3V7mnTmXRyQtwNsdnSYCuCq5vbGJWBpQK0EEcIqdHtvX51BqOMqYnTShvJ884PEl5/LpK/NlGz4UoxBtleiHjMpq9rcO1f9vQCQJm8vUXyNSIMrM/deHvUN6xAYs= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3623.eurprd08.prod.outlook.com (2603:10a6:20b:48::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Tue, 2 Feb 2021 12:50:32 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:32 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 01/14] block: return status from bdrv_append and friends Date: Tue, 2 Feb 2021 15:49:43 +0300 Message-Id: <20210202124956.63146-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:31 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1aab8fea-acf5-4218-be26-08d8c7792097 X-MS-TrafficTypeDiagnostic: AM6PR08MB3623: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:873; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TPdc1kLN1e4KnT1nZ2qREuEkmgGS9PVSCz1niRgWXn8crsEhbl5oRuRYQO62IWOpqwPXk5Slxa7EpSK4mjByH5Jc5YilVWL8R7M6VxbfEeQDhDwbFBG+15EebHi0a4+cbKl/8xC7H3rpyrJVaNnx3l8+th3SguXkae4OlT1j601mZtnMQ2DHNnH14IC4EZrQbi0GAoe7d++smHTL/3tDs4rR/uKcPvEMcOUwm2QqJ5mxQN4ZaKf/GA/VqcnI1KmGKiZSG1UjJkgx72Nof92I2NlWpRvTDYmZphYtK7i1YT8eawCJ9TiH69R9vL6eOTxsO1V0FPIGIgeC6w3J2NRtKrihkQLIAw5v7pR1ERsx8QMRzEURG0SIFfUwM+o4qhRWRryu1s/wRtv2NiKIKbBxGx/3vgPzLIOpwBX1NN7WzFxytgeVtBVT5SNMwd7G+i+qb0TlGtgUDxS/tZjuzO42imQB/eNFt/X7CVCpOyW6lDNmqo3KM0t7ta5zmbpCt+55VtuZ3uUPe6ua1eRlWp1QCQ== 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)(366004)(346002)(39850400004)(376002)(396003)(136003)(2906002)(5660300002)(66476007)(316002)(66946007)(52116002)(6512007)(66556008)(36756003)(8936002)(6486002)(86362001)(7416002)(26005)(1076003)(83380400001)(186003)(4326008)(16526019)(6916009)(478600001)(2616005)(956004)(8676002)(6506007)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 2CplSonfNWQQeUz4mjLFHgPLNKynhp3RGXj7fpI2Xnn8xD3yUoLdzkyDFx1ankWBkvuHFyRw3OLWeiPyxnSmy3Pgilw7ZkebN7ZpkjSEoczc7WpXV28x9UiX/X7sHAd1uE4W2qd5ak7zfUPauizoTy/xJ/3x+kqH4xOVByExxcTFJtAnNjcV28KLpWBDcpk2dbtt8RogGQUS4zn8P8fl9c5zpW5c8C+e5L2MO5HMIMopY7Y19jWrIcFiIU9Wsc7yER7uVNjsMSvGF3wfgSZNLWoY2m8FJlfd/w5BQicNv/VPjKhM0VnmCC8j4EqFnInLi/MjGfgeDAliTMA3zkHDbvUmdQCOBkXluU58W0s8jyJPSoCo1NOFmMvatyXKSH4hu6PMB6QLN3Hki9rjjjQVS5a1nFa9VxxaXya469Lgc/orAx8NREdcEcXfggFSENlVhP/5z1UYUj5qXo9dOaJ2TG0aSliXiNwZN/hFTCaLCZ06xB4ya19SEzs4EGWnxYguHgVe3YCg48FnfpZoZpVSl6t/Vc4awRZ7rkH0G8QI7q4JiEweB1WIG9jt4sZ8eIdyfX7h6qGjT2YCioqG1IU5wH/RIWwGZuWcecSeSOtWUabZxvzko3hQROT8KO0ZTPYCxRkgi8UFip3+gWVBXkw/kvshYUNizushOBPDaoKflPOjGUxVN/H0moCca6b0sRUg21Cgq/oS2sWWsJgAGUiqbx7jPsAVTgJreWN3zQ8zzWKAwhArcMTbV8Xn2b+66lOiT8mzCro7fm7/q3sTCYb9NCU7PVOjCNY7E+xhAqFsq/E4/TiPnBAWmLeOPAaSqQ+VWxYovP5WZBiJf4iECS7CNurSEGPGpX5VWSe3gpZ3Kc5AgC7aRvp2DM2/oSYKw9vRS1o4ajvOnxzveWVey/hMv/1IMe/E9j79Wh9AGZ7cyQLHy6eBp5G5rB6mNZ1mCDTyw+EIW/wz93VlKiRwX9iG77eN1YgrJXZ39PrURRctJ7Mwezu5Ci3ukmlgZuSwazyHN59LTbai06z2c6iPREq1QSu4PtSxIHsFlGuTW7G7xejouelJ09lNvCEnZBgCcR/o X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1aab8fea-acf5-4218-be26-08d8c7792097 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:32.6294 (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: jtMOyTLSz8vsk66rxbkLLDgHEmN+N9hthcUMV52Y3yQgKwS/+ja+1cgwsYxNQo5bC4IqhcAp8BhSrdTuSdNlojn/0S/OKZ6xz6YtMp6/0bY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3623 Received-SPF: pass client-ip=40.107.6.139; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The recommended use of qemu error api assumes returning status together with setting errp and avoid void functions with errp parameter. Let's improve bdrv_append and some friends to reduce error-propagation overhead in further patches. Choose int return status, because bdrv_replace_node_common() has call to bdrv_check_update_perm(), which reports int status, which seems correct to propagate. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- include/block/block.h | 12 ++++----- block.c | 58 +++++++++++++++++++++++++++---------------- 2 files changed, 43 insertions(+), 27 deletions(-) diff --git a/include/block/block.h b/include/block/block.h index 81fcaad5ac..da24192901 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -356,10 +356,10 @@ int bdrv_create(BlockDriver *drv, const char* filename, int bdrv_create_file(const char *filename, QemuOpts *opts, Error **errp); BlockDriverState *bdrv_new(void); -void bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top, - Error **errp); -void bdrv_replace_node(BlockDriverState *from, BlockDriverState *to, - Error **errp); +int bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top, + Error **errp); +int bdrv_replace_node(BlockDriverState *from, BlockDriverState *to, + Error **errp); BlockDriverState *bdrv_insert_node(BlockDriverState *bs, QDict *node_options, int flags, Error **errp); @@ -373,8 +373,8 @@ BdrvChild *bdrv_open_child(const char *filename, BdrvChildRole child_role, bool allow_none, Error **errp); BlockDriverState *bdrv_open_blockdev_ref(BlockdevRef *ref, Error **errp); -void bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd, - Error **errp); +int bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd, + Error **errp); int bdrv_open_backing_file(BlockDriverState *bs, QDict *parent_options, const char *bdref_key, Error **errp); BlockDriverState *bdrv_open(const char *filename, const char *reference, diff --git a/block.c b/block.c index 91a66d4f3e..8a169641de 100644 --- a/block.c +++ b/block.c @@ -2827,14 +2827,15 @@ static BdrvChildRole bdrv_backing_role(BlockDriverState *bs) * Sets the bs->backing link of a BDS. A new reference is created; callers * which don't need their own reference any more must call bdrv_unref(). */ -void bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd, - Error **errp) +int bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd, + Error **errp) { + int ret = 0; bool update_inherits_from = bdrv_chain_contains(bs, backing_hd) && bdrv_inherits_from_recursive(backing_hd, bs); if (bdrv_is_backing_chain_frozen(bs, child_bs(bs->backing), errp)) { - return; + return -EPERM; } if (backing_hd) { @@ -2853,15 +2854,22 @@ void bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd, bs->backing = bdrv_attach_child(bs, backing_hd, "backing", &child_of_bds, bdrv_backing_role(bs), errp); + if (!bs->backing) { + ret = -EPERM; + goto out; + } + /* If backing_hd was already part of bs's backing chain, and * inherits_from pointed recursively to bs then let's update it to * point directly to bs (else it will become NULL). */ - if (bs->backing && update_inherits_from) { + if (update_inherits_from) { backing_hd->inherits_from = bs; } out: bdrv_refresh_limits(bs, NULL); + + return ret; } /* @@ -4533,9 +4541,9 @@ static bool should_update_child(BdrvChild *c, BlockDriverState *to) * With auto_skip=false the error is returned if from has a parent which should * not be updated. */ -static void bdrv_replace_node_common(BlockDriverState *from, - BlockDriverState *to, - bool auto_skip, Error **errp) +static int bdrv_replace_node_common(BlockDriverState *from, + BlockDriverState *to, + bool auto_skip, Error **errp) { BdrvChild *c, *next; GSList *list = NULL, *p; @@ -4557,11 +4565,13 @@ static void bdrv_replace_node_common(BlockDriverState *from, if (auto_skip) { continue; } + ret = -EINVAL; error_setg(errp, "Should not change '%s' link to '%s'", c->name, from->node_name); goto out; } if (c->frozen) { + ret = -EPERM; error_setg(errp, "Cannot change '%s' link to '%s'", c->name, from->node_name); goto out; @@ -4592,14 +4602,18 @@ static void bdrv_replace_node_common(BlockDriverState *from, bdrv_set_perm(to); + ret = 0; + out: g_slist_free(list); bdrv_drained_end(from); bdrv_unref(from); + + return ret; } -void bdrv_replace_node(BlockDriverState *from, BlockDriverState *to, - Error **errp) +int bdrv_replace_node(BlockDriverState *from, BlockDriverState *to, + Error **errp) { return bdrv_replace_node_common(from, to, true, errp); } @@ -4620,28 +4634,30 @@ void bdrv_replace_node(BlockDriverState *from, BlockDriverState *to, * parents of bs_top after bdrv_append() returns. If the caller needs to keep a * reference of its own, it must call bdrv_ref(). */ -void bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top, - Error **errp) +int bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top, + Error **errp) { - Error *local_err = NULL; - - bdrv_set_backing_hd(bs_new, bs_top, &local_err); - if (local_err) { - error_propagate(errp, local_err); + int ret = bdrv_set_backing_hd(bs_new, bs_top, errp); + if (ret < 0) { goto out; } - bdrv_replace_node(bs_top, bs_new, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret = bdrv_replace_node(bs_top, bs_new, errp); + if (ret < 0) { bdrv_set_backing_hd(bs_new, NULL, &error_abort); goto out; } - /* bs_new is now referenced by its new parents, we don't need the - * additional reference any more. */ + ret = 0; + out: + /* + * bs_new is now referenced by its new parents, we don't need the + * additional reference any more. + */ bdrv_unref(bs_new); + + return ret; } static void bdrv_delete(BlockDriverState *bs) From patchwork Tue Feb 2 12:49:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061561 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5299C433DB for ; Tue, 2 Feb 2021 12:54:41 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DEF8664F49 for ; Tue, 2 Feb 2021 12:54:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DEF8664F49 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:53880 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vCZ-0007ED-Un for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:54:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46772) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8l-0001Ao-2Y; Tue, 02 Feb 2021 07:50:44 -0500 Received: from mail-eopbgr60139.outbound.protection.outlook.com ([40.107.6.139]:33232 helo=EUR04-DB3-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 1l6v8h-0001qn-47; Tue, 02 Feb 2021 07:50:42 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XjoCGrT8ZHTwYFLJ/ESqQYXVEtZgEn1jqcFc34PCYMT9RXXW6AxuaB0Bm9iynIA/UU5TT++CaeKs7epsbSvrYM5S9g2BB/XBi6mrGe3ZYwaSnZoVNjd3SOue187y4VnNMkqZGCXWL6H/nWh4Z5jbY+uS0NnwC2Granzvp6Ki6GaL436bjGgZbWZcZ+IxV8BrEnOx4EjU4c+DsWxHqmfD/oQ6Q8J3WWevEaQmnZtiYWNfHfXGoK4p6R7dUGsx2m/dq0c+qiSYSIPM+8WvMPMh6X5wKinWCZ0R+zDFDGfaeGUE8pVPY7kIK4eL3VRNoJollv2pCGs2juS2yZLVNumZ2w== 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=Kks2NLH0SSSLBaTdj72iNuPsYfxkro+OXuvgGYLuJCQ=; b=dWkZ6TsedPm/zMZMGR3ueydSpaAtxK2jtHY0MxVXnvhq0o4fsfl7+s4LgjQpuzR/wyznsmr2wHN62SpF6bOoz5QfXamWry9rIP5UIBHp/yVLFx4ppBscmhwEtntbB/Iqcy7f0xk7uvsFmvDRmLiYJPk/s1gMGBE3wGMtw0GLo3mrVXnQwGu3e8CW6OcD/5tMSPtFGzjfrSdsdY9l/nCPEnhwwPvAkw/VwhBHXNde21Xi0R4pw95zkOM/UjWKbrW47FMsrWfymYG7jlL319tP2pPmF/kfestsZB5/Zx+8Fi5z4elek4/vzDSf/vTLyc+rUvFrgkeoBLNODpKnRFw6Ew== 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=Kks2NLH0SSSLBaTdj72iNuPsYfxkro+OXuvgGYLuJCQ=; b=hIhUENx3XkrRBuI53Lzuf2ptUAR9ulgzDHtREnqXSHpapnl/DOovxPeXBiw2fDqiR6b1YEsDGFNazwj6yjqvv6hnQBKCHuMWUfaFTSd/6SQR0sApTw7CSlWPN4JFU6YG5X8NGSt1LXKZuHNw41eAgJk3ExYG60h6NNwT1+Y/ZPE= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3623.eurprd08.prod.outlook.com (2603:10a6:20b:48::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Tue, 2 Feb 2021 12:50:33 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:33 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 02/14] block: use return status of bdrv_append() Date: Tue, 2 Feb 2021 15:49:44 +0300 Message-Id: <20210202124956.63146-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:32 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7fd4fb0d-9e2c-4af0-647a-08d8c7792145 X-MS-TrafficTypeDiagnostic: AM6PR08MB3623: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:40; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aN1FiIzbF9qhSeBiJZL8YMXTGm+d1taCUkupnUzim+oR8mj5RUwVqaUTVs+Qnm6EG0/QOQKnDGxWsOTjmxjjKqUuMDEGXa8/VnNXsguyHypRmaU4Ajm41wZ6l46c6q5ClsNCU5s4OF9133vLnjVmQ17NqRciQYgu8eTv1VeVmwQDLjQlrX+KXY6zw/Y5yzSvVRecIM/X1Y0OV/J8mNRah/cZ/HJluMy2mi+4PP0t8HhbP6X3k05t8yGpEhmZaYwc73YUOERwqtbQw+MQhO5p6X6AFZDemPEUe3NyFwDNhjtR55JIVfzZSNZHtRD2r5A9KsCx1QiwrY2madNp7TbRBDBorSUpSgOhPKMDT9uAqnze4HX/SVx3Hhm4hkrnJLVkoPk9WztCj50gZpoyPzCn3OpOHVy/rvczg0aQW8OLozxk1Kk3ZQFdDxFBlzqB0SF46UVELUa1NALdcaXD9Z7FxAjbq1GAWg+MoQIRY3Q/aDNU/LeT/Xd7xhn3qnqaW2l1pWGDHw9oHCiOe8MP90KUtw== 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)(366004)(346002)(39850400004)(376002)(396003)(136003)(2906002)(5660300002)(66476007)(316002)(66946007)(52116002)(6512007)(66556008)(36756003)(8936002)(6486002)(86362001)(7416002)(26005)(1076003)(83380400001)(186003)(4326008)(16526019)(6916009)(478600001)(2616005)(956004)(8676002)(6506007)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: G4Tc+LKG/jH4eJouZd12sc4fG/IKZHbqLFzSFjAOiwewaF/IVnaaCp9XK+0qbCM5uCiQF55MYQJJzAG7S8ThCC5abfhdfb0lxpZS39hrj7XRASjj6LSkUd+S9wDVeJ44YKr7IDqaVOtvvDLSklpoI+/PN7DduN5Je1BDjnDb1klsrxGFv11s++tqrD5L7onDKwoYx1fmdk5visP26XPI/AbdxHKVmmvm7IvUAe2EmOH4DzeJlbsfBUm3eK7IimM1CAuKpo3McGvM6LjjRypDsq8GJ6CnYSufH8EPaWSqJvPx6V2Z6xixkLkDlhNez60PUW9cVvf+KH+0M/MlcfsAOORJuXS2WphWi0ztMFC3gu4nXd3suFOcluzrltqGnXBitxcSzTz5deft3hH+BWBiCaJGlkOD8pvkao1zG0ltsnB6jPon0hk33u12zIqVabIbuMCYlZ0Fs/TKHKR3/r+sOQ6Kt1NY8cFUWqOfPZQKitTu/5uZ8DHH5xI8h90cN3zh7ePy7U7Sb/pfTzOF+VHyozkwUdHq6IKqWOc3/ya2nNZjYnrrhU72PN7eE11he67Yw4YOApG7QIyJNdL9VpYMZqgVcUoFAmZ1yZNGGt+EcXjJ+ejFLByeC7ieJ7FWHI55EuGchXtKS7qBPAayBmafmHxV7gE3TCXnxcU1BrWivNp7kuiaZI9pcOflBKlhlsfAlRU55v/BRXqe87+2WjmtFr8y+p+JKmAHr/y7NKqw/HVwXAjnCpBcZNGvb8ioyC9qJdnF8kzDVFL4yTTcjSWFZ6SquFKhz5eawlTI15Mzvm1VI0h06xl9dcabm2NeQDUJ2MRRebpts9CQDekaf9rd1Vtzc6IAeyVtIdic+z8LtSGOVQUdu/WYrWdhrAV6Dlcc6g7qD0ck1M/WdAfbzCbTgjt4DXrefd0LYDDFvCSd68m43aRZfEt6tcHzoW1BjrE+lNBp2rpf+zBInz3DejO6nThomN3PlWeE0emEdBUzhQrRkIDT9VgGxmJQ+P+qbqPCoK86f5wmjQD9cRuHnz+uBTovYFudDUd0EssJo+ygbOmy4mZmBK9VzPbLeAkaYOnY X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fd4fb0d-9e2c-4af0-647a-08d8c7792145 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:33.7296 (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: rlp+pIfxh0IMBW1e5Bmf/3DWi2G6OgNg83Mt9LgdYiUDbMge8HjMZMvJC42ixTKefqUdfB8+omysQkue0efGM7nwCgMxxPbRgyEllb/Zyyo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3623 Received-SPF: pass client-ip=40.107.6.139; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now bdrv_append returns status and we can drop all the local_err things around it. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- block.c | 6 ++---- block/backup-top.c | 23 +++++++++++------------ block/commit.c | 6 ++---- block/mirror.c | 6 ++---- blockdev.c | 6 +++--- tests/test-bdrv-graph-mod.c | 6 +++--- 6 files changed, 23 insertions(+), 30 deletions(-) diff --git a/block.c b/block.c index 8a169641de..48b0de36ff 100644 --- a/block.c +++ b/block.c @@ -3118,7 +3118,6 @@ static BlockDriverState *bdrv_append_temp_snapshot(BlockDriverState *bs, int64_t total_size; QemuOpts *opts = NULL; BlockDriverState *bs_snapshot = NULL; - Error *local_err = NULL; int ret; /* if snapshot, we create a temporary backing file and open it @@ -3165,9 +3164,8 @@ static BlockDriverState *bdrv_append_temp_snapshot(BlockDriverState *bs, * order to be able to return one, we have to increase * bs_snapshot's refcount here */ bdrv_ref(bs_snapshot); - bdrv_append(bs_snapshot, bs, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret = bdrv_append(bs_snapshot, bs, errp); + if (ret < 0) { bs_snapshot = NULL; goto out; } diff --git a/block/backup-top.c b/block/backup-top.c index 6e7e7bf340..d1253e1aa6 100644 --- a/block/backup-top.c +++ b/block/backup-top.c @@ -191,7 +191,8 @@ BlockDriverState *bdrv_backup_top_append(BlockDriverState *source, BlockCopyState **bcs, Error **errp) { - Error *local_err = NULL; + ERRP_GUARD(); + int ret; BDRVBackupTopState *state; BlockDriverState *top; bool appended = false; @@ -224,9 +225,9 @@ BlockDriverState *bdrv_backup_top_append(BlockDriverState *source, bdrv_drained_begin(source); bdrv_ref(top); - bdrv_append(top, source, &local_err); - if (local_err) { - error_prepend(&local_err, "Cannot append backup-top filter: "); + ret = bdrv_append(top, source, errp); + if (ret < 0) { + error_prepend(errp, "Cannot append backup-top filter: "); goto fail; } appended = true; @@ -236,19 +237,18 @@ BlockDriverState *bdrv_backup_top_append(BlockDriverState *source, * we want. */ state->active = true; - bdrv_child_refresh_perms(top, top->backing, &local_err); - if (local_err) { - error_prepend(&local_err, - "Cannot set permissions for backup-top filter: "); + ret = bdrv_child_refresh_perms(top, top->backing, errp); + if (ret < 0) { + error_prepend(errp, "Cannot set permissions for backup-top filter: "); goto fail; } state->cluster_size = cluster_size; state->bcs = block_copy_state_new(top->backing, state->target, cluster_size, perf->use_copy_range, - write_flags, &local_err); - if (local_err) { - error_prepend(&local_err, "Cannot create block-copy-state: "); + write_flags, errp); + if (!state->bcs) { + error_prepend(errp, "Cannot create block-copy-state: "); goto fail; } *bcs = state->bcs; @@ -266,7 +266,6 @@ fail: } bdrv_drained_end(source); - error_propagate(errp, local_err); return NULL; } diff --git a/block/commit.c b/block/commit.c index 71db7ba747..dd9ba87349 100644 --- a/block/commit.c +++ b/block/commit.c @@ -254,7 +254,6 @@ void commit_start(const char *job_id, BlockDriverState *bs, BlockDriverState *iter; BlockDriverState *commit_top_bs = NULL; BlockDriverState *filtered_base; - Error *local_err = NULL; int64_t base_size, top_size; uint64_t base_perms, iter_shared_perms; int ret; @@ -312,10 +311,9 @@ void commit_start(const char *job_id, BlockDriverState *bs, commit_top_bs->total_sectors = top->total_sectors; - bdrv_append(commit_top_bs, top, &local_err); - if (local_err) { + ret = bdrv_append(commit_top_bs, top, errp); + if (ret < 0) { commit_top_bs = NULL; - error_propagate(errp, local_err); goto fail; } diff --git a/block/mirror.c b/block/mirror.c index 8e1ad6eceb..fad2701938 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1560,7 +1560,6 @@ static BlockJob *mirror_start_job( BlockDriverState *mirror_top_bs; bool target_is_backing; uint64_t target_perms, target_shared_perms; - Error *local_err = NULL; int ret; if (granularity == 0) { @@ -1609,12 +1608,11 @@ static BlockJob *mirror_start_job( * it alive until block_job_create() succeeds even if bs has no parent. */ bdrv_ref(mirror_top_bs); bdrv_drained_begin(bs); - bdrv_append(mirror_top_bs, bs, &local_err); + ret = bdrv_append(mirror_top_bs, bs, errp); bdrv_drained_end(bs); - if (local_err) { + if (ret < 0) { bdrv_unref(mirror_top_bs); - error_propagate(errp, local_err); return NULL; } diff --git a/blockdev.c b/blockdev.c index b250b9b959..cd438e60e3 100644 --- a/blockdev.c +++ b/blockdev.c @@ -1432,6 +1432,7 @@ typedef struct ExternalSnapshotState { static void external_snapshot_prepare(BlkActionState *common, Error **errp) { + int ret; int flags = 0; QDict *options = NULL; Error *local_err = NULL; @@ -1591,9 +1592,8 @@ static void external_snapshot_prepare(BlkActionState *common, * can fail, so we need to do it in .prepare; undoing it for abort is * always possible. */ bdrv_ref(state->new_bs); - bdrv_append(state->new_bs, state->old_bs, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret = bdrv_append(state->new_bs, state->old_bs, errp); + if (ret < 0) { goto out; } state->overlay_appended = true; diff --git a/tests/test-bdrv-graph-mod.c b/tests/test-bdrv-graph-mod.c index 8cff13830e..c4f7d16039 100644 --- a/tests/test-bdrv-graph-mod.c +++ b/tests/test-bdrv-graph-mod.c @@ -101,7 +101,7 @@ static BlockDriverState *pass_through_node(const char *name) */ static void test_update_perm_tree(void) { - Error *local_err = NULL; + int ret; BlockBackend *root = blk_new(qemu_get_aio_context(), BLK_PERM_WRITE | BLK_PERM_CONSISTENT_READ, @@ -114,8 +114,8 @@ static void test_update_perm_tree(void) bdrv_attach_child(filter, bs, "child", &child_of_bds, BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY, &error_abort); - bdrv_append(filter, bs, &local_err); - error_free_or_abort(&local_err); + ret = bdrv_append(filter, bs, NULL); + g_assert_cmpint(ret, <, 0); blk_unref(root); } From patchwork Tue Feb 2 12:49:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061563 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CC24C433E0 for ; Tue, 2 Feb 2021 12:55:04 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C425664F45 for ; Tue, 2 Feb 2021 12:55:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C425664F45 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:55478 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vCw-0007sZ-Pg for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:55:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46794) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8p-0001ET-3t; Tue, 02 Feb 2021 07:50:47 -0500 Received: from mail-eopbgr60139.outbound.protection.outlook.com ([40.107.6.139]:33232 helo=EUR04-DB3-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 1l6v8m-0001qn-LP; Tue, 02 Feb 2021 07:50:46 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hOOtDXyIsbqapLY2Zvz6KwpK7605pyHeW///97rSDl1rCrL5uTYLmfLfZLFnoTUs8M1cvhwFpIG1QiPQeBHPXwSy6x34YAvFUEKu5Jk3m8unpREjnryIoskfy5tAxZzt6eDyVwH43g4v4/yRqFu6n2XcunqcVbYXlTYE14zNAhEoUAyVWTj3ZItRpRvb3oO3WRGceCUVc6QVGWKPYU/uxfUqmXGNz2vvE2OOjkK1lyD4yI6vJxRT7YX+oBPFCidGslVc5V+M0cCTNY/0eTglgi7QTX8O0xISEIaDvCtsnkUnGsb0f/MOeVo7vZrtG9Y2EGoVZ51HMq1yBWPkiR0vJg== 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=SHiqVSYrrsIGha2K3VmGGWdTMKAgFqst8R0FSwT8/Ho=; b=DBkh06THBPJ3fDcWxLLt97LWfGOjtzdfbQO5eyNBMw1YjGH55aBCOzCbZJXPXUyhjuJfyeHgeL34atwpEiDshzdbB+jFdC8EdpwMRlE/1+lkXj32QckzmCX/gHK5IvxqvPahwSowDPcyha9flUvb0wcYeJgQRnozFex26fBoLOrK8A8l+2J3otEOYAeMp7EwOLehGaPznvtvzo4PTSghhORu6eHagDqHhtCdg7nXwHW6YmNpuHiKsrM/oQtzhC0/m0UahahtYNT4BgPi7fbaz8A+6M4i66cHebQXvEnJRSg2OhfB0EurELLjhHNUmrdykHBAnUpjdbiQ+THhU1ZJSg== 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=SHiqVSYrrsIGha2K3VmGGWdTMKAgFqst8R0FSwT8/Ho=; b=PsgXnoYCPSK237S1x8pUNtuTbHBtNS/NuGGRHlgd3vnGrF3TNuU8Jn3fLK8ebe4VGBsqWHdP0x6ewGjIXM3O0mEKtfclax/1Adh5NOE8rVhLtpOLgoswutA4NhDfD21VKbUXEFyoSCl8bi/fLdulV6tbf2PMKFvnAEzFden1dCA= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3623.eurprd08.prod.outlook.com (2603:10a6:20b:48::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Tue, 2 Feb 2021 12:50:34 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:34 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 03/14] block: check return value of bdrv_open_child and drop error propagation Date: Tue, 2 Feb 2021 15:49:45 +0300 Message-Id: <20210202124956.63146-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a6623e45-e895-4047-ea59-08d8c77921f0 X-MS-TrafficTypeDiagnostic: AM6PR08MB3623: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:126; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FKRvT7ZpzBohTvxupQl+Lss8I9sgO9kIbP3rrTy3VJ7pw21yoDHOWURHVBgQ0tths0+FyhpYk/yDbw9SjqwcD+CXo3Y1kJKeldKQSqct+m04c+CBMO3mnChISbhbpnIP40mzfdmlkIZ/iFTFl5OLFqE0puTg99+zrzOJ7TUy6nqPYmeUUusXCXSFOgBbW586YIWw5LPjUzr6Np416E56r8WbfbfVF0QrYYjXxhfjmW9qmVfj33DTf0GS0/0EcZ08GJ+yfztDnu/uFMw/KS18IyE5tbAJD+HBucC7RnH534OXq9zw9wRHc2mJPMMxeao0simR+nFSYHJPjGURqnXhVj/Vk0hIK8lBIC93/+sQkP1zrl1Ya1ulMQyRajhhf86NCbdXuovtx9VndfOpHOyeqJZvNW8Rs1XPOPokeoQOjsK7YU8RGCrk3/JPJ4O1vxuklde1jEGKksWY1TvjqhAP3vrXrQFHm2f3/qbRHDMf0Jh4fgRy81SBPdfN9yDSFxY0cflqa3yx9AQDUHf4VWsJNg== 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)(366004)(346002)(39850400004)(376002)(396003)(136003)(2906002)(5660300002)(66476007)(316002)(66946007)(52116002)(6512007)(66556008)(36756003)(8936002)(6486002)(86362001)(7416002)(26005)(1076003)(83380400001)(186003)(4326008)(16526019)(6916009)(478600001)(2616005)(956004)(8676002)(6506007)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: BohCMvYWu8PAs3nNOjYqd+NRv8tw1JOrYPMUDUSvNnKcswXtIBI0DnnWqkB0KF3DgtNMI0h5UXDy4duJw2WFUOQwbj1bXf+kQBOQVWpORbQwx5CQo7dCUHzj82NvwL5soZpVnUC4WoVybol4DKLV+U4lyriUvZg7/Ga7wkk5ah1aqOmQTwc1/8iiUS2zcIx1dWzaFR2bB2UryLS0cxTpdehgyg0MIiH8FWU9VycujTRkhaqSCyk03d/sZVDplKKnEXwaZ4JkbnVoecUDPFTk8pCoklbNpcElV/x0I4nGZKM4NrncxNxyNHJ74MXOS0JXZGmDkvkcRr5BWraNwPYCAhVQ3g4vLjDt3mIw9xXtHNuUVdh/FqB4LDsEZoSTvT8Qb6m5lXCzP99SXSGAn2Z07AsiREsjodkkjw/Ug9MdP5EEqwf96GTX8nFL+rX4i8Lu8xVSUAnQXI9pe5kwkwgdkOmgbb6PF2VS4erBYh1abQFafOoR6mWuGWvzT0inunVjPViOWA5DgG5KVjgpM4zBjOMkTndyA3uRynMC/0VBJOYKmrHLGQw2CnGhX2+nsqjWK0Rvzo4agM7pSXnLEbLylDkv6oCZqquE4jD/XGVZE2E8dOHoVT6nprRKzmJERzVRmkHWvTlvUlvXMXdGSPbhJSDH+rdE+F9CsMzCZEFA4lNfpsFtNMU65w51N/J2OjmvvM2UKKYqtJB4liq2vjdiYc974JPR/I0WgVeWRX0vbi/L8kDDJHlYlb651uqgQNVseD4u2phikwB7LCGDMMdrlId9yyx3ydYWsTJgvsqUC/B6Lt7cSpjP+jFH/8eInus3/zmvcjrQXVHBAHKDSXZVXKvt8LQiaYX/UuO7ATCrHNdjXwjT7EM20zO9QLyl3poverL1xdcQTdtZbOKXUpl4dmVOf3Qu/C+e9UA+Z0yzEzgsIpM3g83UYOdEq3UbDV0PKe0cFxGEUwOKzFrNwEXrfVXLBcBD6cmVK091nGp6Cn1SSN9Eqk59XvjPXkI14uifOkIPDZ2MSMlCCm3xgatOFtP/4UQgUG4bR1B4QOhp0ymTsKaSiRg4zuYmeiF3my0Y X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6623e45-e895-4047-ea59-08d8c77921f0 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:34.8666 (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: q81K6QvtvlbLL1LTOEtPSrfCn9Lvoi9dCBWrjTsrlaA9tFKHk+ixS7NPF0gW7EmhU4oHBm0hZ4WgmVST+1KIfw1bPjztyfTrEo/zspMOFsw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3623 Received-SPF: pass client-ip=40.107.6.139; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" This patch is generated by cocci script: @@ symbol bdrv_open_child, errp, local_err; expression file; @@ file = bdrv_open_child(..., - &local_err + errp ); - if (local_err) + if (!file) { ... - error_propagate(errp, local_err); ... } with command spatch --sp-file x.cocci --macro-file scripts/cocci-macro-file.h \ --in-place --no-show-diff --max-width 80 --use-gitgrep block Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Greg Kurz Reviewed-by: Alberto Garcia --- block/blkdebug.c | 6 ++---- block/blklogwrites.c | 10 ++++------ block/blkreplay.c | 6 ++---- block/blkverify.c | 11 ++++------- block/qcow2.c | 5 ++--- block/quorum.c | 6 ++---- 6 files changed, 16 insertions(+), 28 deletions(-) diff --git a/block/blkdebug.c b/block/blkdebug.c index 5fe6172da9..315965a013 100644 --- a/block/blkdebug.c +++ b/block/blkdebug.c @@ -465,7 +465,6 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags, { BDRVBlkdebugState *s = bs->opaque; QemuOpts *opts; - Error *local_err = NULL; int ret; uint64_t align; @@ -495,10 +494,9 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags, bs->file = bdrv_open_child(qemu_opt_get(opts, "x-image"), options, "image", bs, &child_of_bds, BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY, - false, &local_err); - if (local_err) { + false, errp); + if (!bs->file) { ret = -EINVAL; - error_propagate(errp, local_err); goto out; } diff --git a/block/blklogwrites.c b/block/blklogwrites.c index 13ae63983b..b7579370a3 100644 --- a/block/blklogwrites.c +++ b/block/blklogwrites.c @@ -157,19 +157,17 @@ static int blk_log_writes_open(BlockDriverState *bs, QDict *options, int flags, /* Open the file */ bs->file = bdrv_open_child(NULL, options, "file", bs, &child_of_bds, BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY, false, - &local_err); - if (local_err) { + errp); + if (!bs->file) { ret = -EINVAL; - error_propagate(errp, local_err); goto fail; } /* Open the log file */ s->log_file = bdrv_open_child(NULL, options, "log", bs, &child_of_bds, - BDRV_CHILD_METADATA, false, &local_err); - if (local_err) { + BDRV_CHILD_METADATA, false, errp); + if (!s->log_file) { ret = -EINVAL; - error_propagate(errp, local_err); goto fail; } diff --git a/block/blkreplay.c b/block/blkreplay.c index 30a0f5d57a..4a247752fd 100644 --- a/block/blkreplay.c +++ b/block/blkreplay.c @@ -23,16 +23,14 @@ typedef struct Request { static int blkreplay_open(BlockDriverState *bs, QDict *options, int flags, Error **errp) { - Error *local_err = NULL; int ret; /* Open the image file */ bs->file = bdrv_open_child(NULL, options, "image", bs, &child_of_bds, BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY, - false, &local_err); - if (local_err) { + false, errp); + if (!bs->file) { ret = -EINVAL; - error_propagate(errp, local_err); goto fail; } diff --git a/block/blkverify.c b/block/blkverify.c index 4aed53ab59..95ae73e2aa 100644 --- a/block/blkverify.c +++ b/block/blkverify.c @@ -112,7 +112,6 @@ static int blkverify_open(BlockDriverState *bs, QDict *options, int flags, { BDRVBlkverifyState *s = bs->opaque; QemuOpts *opts; - Error *local_err = NULL; int ret; opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); @@ -125,20 +124,18 @@ static int blkverify_open(BlockDriverState *bs, QDict *options, int flags, bs->file = bdrv_open_child(qemu_opt_get(opts, "x-raw"), options, "raw", bs, &child_of_bds, BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY, - false, &local_err); - if (local_err) { + false, errp); + if (!bs->file) { ret = -EINVAL; - error_propagate(errp, local_err); goto fail; } /* Open the test file */ s->test_file = bdrv_open_child(qemu_opt_get(opts, "x-image"), options, "test", bs, &child_of_bds, BDRV_CHILD_DATA, - false, &local_err); - if (local_err) { + false, errp); + if (!s->test_file) { ret = -EINVAL; - error_propagate(errp, local_err); goto fail; } diff --git a/block/qcow2.c b/block/qcow2.c index 5d94f45be9..e8dd42d73b 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1611,9 +1611,8 @@ static int coroutine_fn qcow2_do_open(BlockDriverState *bs, QDict *options, /* Open external data file */ s->data_file = bdrv_open_child(NULL, options, "data-file", bs, &child_of_bds, BDRV_CHILD_DATA, - true, &local_err); - if (local_err) { - error_propagate(errp, local_err); + true, errp); + if (!s->data_file) { ret = -EINVAL; goto fail; } diff --git a/block/quorum.c b/block/quorum.c index 0bd75450de..cfc1436abb 100644 --- a/block/quorum.c +++ b/block/quorum.c @@ -929,7 +929,6 @@ static int quorum_open(BlockDriverState *bs, QDict *options, int flags, Error **errp) { BDRVQuorumState *s = bs->opaque; - Error *local_err = NULL; QemuOpts *opts = NULL; const char *pattern_str; bool *opened; @@ -1007,9 +1006,8 @@ static int quorum_open(BlockDriverState *bs, QDict *options, int flags, s->children[i] = bdrv_open_child(NULL, options, indexstr, bs, &child_of_bds, BDRV_CHILD_DATA, false, - &local_err); - if (local_err) { - error_propagate(errp, local_err); + errp); + if (!s->children[i]) { ret = -EINVAL; goto close_exit; } From patchwork Tue Feb 2 12:49:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061557 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4CF74C433DB for ; Tue, 2 Feb 2021 12:52:52 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E125764F49 for ; Tue, 2 Feb 2021 12:52:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E125764F49 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:47160 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vAo-0004Tq-NP for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:52:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46760) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8j-00017R-3K; Tue, 02 Feb 2021 07:50:41 -0500 Received: from mail-db8eur05on2114.outbound.protection.outlook.com ([40.107.20.114]:11748 helo=EUR05-DB8-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 1l6v8g-0001rd-7R; Tue, 02 Feb 2021 07:50:40 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZR3KJ4iJAtouiB5Ieqwkmr6fQ+bgw4Rs5bMx5P11yhxRh8cU2afRB+yoEVmeOV4W/d35lytf7Ipugvb7zxjy7o+RUm4B/I48YErsGhBpYD2mIikuOAvEZnu5FCKwxte/p3H6CvY0HAbj1we36QqjIHlkALfJGNMgeq0wzC6CgyV+AcjALNaTDa+X1aJppQT4Xu75io+s9m+yP75xW2EXdTQ5imaTxaRMWnI95/WZ/Bnd8tLUY4YIH7obVCVPaqkBwl8z0MI7TwBlHH7WyUGUl0c7zQEOD0oMGUTHFp2rOzpp4kRpieJpaLuCt0TrtgFf4mtZ8XKqWID8aubkOAsgnQ== 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=H1JDRt+qiWRCN0ShN2yu5BTMeZ246ZkQ/BbVXaUXEWE=; b=evyqNnLrpQqeMc3jljSzcH2FHPTKDJ//UQT1VdeTMfCx24kNU+2WgpqlBnMmaVxCz73rMxpgC9IMf1sYxAXvKZeexhwPWvrZ9EcKXHyBcfJeY8tin8r5IoUIoODsyaRKUHYvt5Qb08L21ddt2qXB4v56lYX+99LqGg5l3+g7PxVggyiwg7VHaa+LtuFDy/cNOBAX5/o8EVMe/dV+mkGceMHRpqqEL/XAoHzZeU1d8xIz9Z8C/jObEi9T4p2hFbnMF7ncv5H4UJw8VJdWFKefd3Cj7V0enfLwPAA8AH35k5lUDuzppf/9CDZWWbsKkEEmUqOc69cBASspwgxXDMQi7A== 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=H1JDRt+qiWRCN0ShN2yu5BTMeZ246ZkQ/BbVXaUXEWE=; b=VF1LuVSHzWrRvfgSPrqxhlMlYCR2HJHb7xDepb5L1KvUGH+raG6P4fUysmA5dyrhjqsjD8qAcbbqKg+ifehHiYxqmYrETGavOd6V7Cvy2lPVkvTmImOJ8Fyxev6ttTM68IV9CRc+GXpcWeIpZzTLFtgkFSsui5EPXv8IEdrWxDk= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3544.eurprd08.prod.outlook.com (2603:10a6:20b:4e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 12:50:36 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:36 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 04/14] blockdev: fix drive_backup_prepare() missed error Date: Tue, 2 Feb 2021 15:49:46 +0300 Message-Id: <20210202124956.63146-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:35 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bd2960d2-cb24-4c70-dafe-08d8c7792299 X-MS-TrafficTypeDiagnostic: AM6PR08MB3544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1051; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: I6WUTy+bQ20gEPC2qwE0QH1DD6JzFeOaUc/6AUez3DD88wBNPrh1b9LojrWokUuvl8JkAkO26suOAeX65T/c7J+z91rLUKI7JVOgyoyJ5W0gOrp4GuDbhVf+zF5VqfcNSqEj84BtZaGSd6AFk6EXUTwsNiT/5+66OrGyT8sV3b2J5CRHxe6/01oLpaObVTjKvIdc+aTJuZ67EpKurKQcT49bu0I321Kpg4Oz7KGhMuWeJ17zC0lyYpkykw5tFroAMOfcbu4R73037T9T43fwhJUsOqcjdc2PV7qRwGNOun7u/J0EwFhyTNYR0pOqf4MxLJa/5Bmh53gUnuDjf5+dVeFrdJEIIl5Rm3WhwDJAfPqjr/LzxznbFLTJqgYuinQ/Zvx6r3Wr8GF0XzVgf2tk/v5oSWsbAR102zL0gEWQMXHxwJALbsrkj5EaKGk4GOL4E7jy0FJS4ZlISkIdRvkAMjwvE8hDIaegiSZRDpMcxcFyftgugCbBwMHbGZGjdEYh6stVKeEt/Yt757WnzaMEQA== 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)(396003)(346002)(39850400004)(136003)(366004)(376002)(478600001)(4744005)(956004)(186003)(26005)(86362001)(4326008)(5660300002)(83380400001)(8936002)(6506007)(8676002)(66476007)(2906002)(6916009)(2616005)(1076003)(66946007)(66556008)(6666004)(316002)(36756003)(7416002)(52116002)(6486002)(16526019)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: RvwHBXoKc9dwfX4ctAK4loOlfH8C9ncwvdMLipVh0jJ6htYMVXQLNsx2FhL/4MRnj2N9NtC+JPb4p26ZMkvF299vkSZOGdZcHLGUJEEh9Md7SsPNVm78JL1INuj9/EgVnoBlItwcz+XBRG3WIMMjHm7/a54bDl3GxZHFxvn/r3W6aTLW4Cm0tlXTAPzRcPGzDydVk0I+Pb7jv1A9ZLVjvCyi/QCvt81DXZHxjmakA/Yqd7qRCcEh5u80ZCIDOju49jzzTWnjShGVGdX/DqXNP4VlDjsj7SRwgmIyq3MpCHFeoFlTfeyZ6DA0EMtuvzjSr8bvsDIUmfjFNMOjjYWK0dg87tDpaYDucibE6atOUM2XknNzCFQRR/YIaXeCsHULmuH3gDGER0jj5RRAK3aM+8MJhW6nuf8m6+yaYr127bjp1AeaMWAhAZexUh1K/FAx4Poy5fTG0dBuJLryARZtJhxxJ90Bg8h2B9cM5ZTjiVQEno57nWbKVYEyli2iPFk3nXtnQ++bCjluDQgpIO4XY5N0+ihLNBD6WbhfXM3nREjdC9v6l/klv+fl0Bl1hF/PJWMImHlQinPxzXMkfq/XoHVNLWdq2nXXJQIwxytiFttBN0B3iWvSAG4eU9/qEx7vuWQ/KlF+P3dSzOV4he6ywHUlsnP1lonOzjqI5gm/HL6K0q9dpU0AmO6MsejM/MGtS69fzdqlbrBR5GGM114EHjcBhjzGdW19tELkWVqMpzxdpSP3A0mGK371MZTp6iNQIJ+dBRxE+D6s2hF+1g4SRoGk4GztZ+KFuuRzJkG+hXWhAUiyQh2TkmHl/yYOk2SOQlAoSUGE8sbUefvPsp9DybVktVWsHvRb+6FRgRaP11kxRW2duib676x2J2kLGaDjSD5J9m4kZOToWfikYf0l0fWRiG8bdCr93lxN4O+MXPEjElxRCGoLotsKPehriMjSYgroC1IvbnrhJnTHQ3mqXB4qSYTToOqgOr75HQy7EWxwwqcFdEDbnYvniLhKsT4jOGOp7/2NaES3Y3kwMsaQYi8DHIEzu152uK4Sz7rKpXA77yx9UWFPjwHuIvn8d2TO X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd2960d2-cb24-4c70-dafe-08d8c7792299 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:35.9967 (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: Jat2lE9yCF6fOIS8b7ZtM5MU5Eq2uUh9QVFtcuPvLNbsCRQv45qcGmIWVwKT34YJGrvKCCA/XKXsjNuNjS7xxI4SUgAocVCu1EHp3eo4q5U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3544 Received-SPF: pass client-ip=40.107.20.114; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" We leak local_err and don't report failure to the caller. It's definitely wrong, let's fix. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Greg Kurz Reviewed-by: Alberto Garcia --- blockdev.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/blockdev.c b/blockdev.c index cd438e60e3..65884a2826 100644 --- a/blockdev.c +++ b/blockdev.c @@ -1825,9 +1825,7 @@ static void drive_backup_prepare(BlkActionState *common, Error **errp) aio_context_acquire(aio_context); if (set_backing_hd) { - bdrv_set_backing_hd(target_bs, source, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (bdrv_set_backing_hd(target_bs, source, errp) < 0) { goto unref; } } From patchwork Tue Feb 2 12:49:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061553 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B2336C433E0 for ; Tue, 2 Feb 2021 12:52:33 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 47BAC64F49 for ; Tue, 2 Feb 2021 12:52:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 47BAC64F49 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:45322 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vAW-0003jT-6c for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:52:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46776) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8m-0001Bb-Fw; Tue, 02 Feb 2021 07:50:44 -0500 Received: from mail-db8eur05on2114.outbound.protection.outlook.com ([40.107.20.114]:11748 helo=EUR05-DB8-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 1l6v8j-0001rd-Pg; Tue, 02 Feb 2021 07:50:44 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MzwJSovB5bj9wbEk26ztsnKISbvXfSs8VIzQutT6AKLxcAKfkg8eMoG6jXNj9R21nq77OocolYC5qQP3yqoWnoS5vRTyLjuiBAnJ1VM1lOA3j7GEbopzj0SFOz8GDaQ0PUqhaAfJTe+xW2DxYIV06OxQWJkrsN1VPgdhKbqWsiGIpJ85HHVsLZUvflRjc7Yq6AIkNrBa+uIZqcZ1LHyEqckMWwrMIlLh5YNsP2dTtDoh9nFSVq3amAThf47Ek3RDQG6IIN7kBTY4jIk7w3GpK6k7XtQBPhSrZfCpdcfdd8SHx4yJXUKxhCMh2aVqFpr+Q+gQGUP31PR4TK+vnKUV+A== 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=rzX+l81j5y7f0CtI8hWxu+7DxNcJYKbY79rkafOc7Co=; b=NSqFM45TcWTeY1Z4mpSMBXAJqxgnNdu9EP1fMHp+2t+Yz8pp+bjAek8xkkL8cZzcfDE0Hiz+CLc77Qc7ubGUAyTnP03/gGfiNXtxC1j4DJGyDOCWsX1b9gAIRNRei+uft0IM3Y2SJUjgUGhjZV3Lz+PnfxboHHKFh2DTMvTbQB5YRk9OhlMLoIwJt+nMBwFXBsCNUOHWrg0IvJyhfjq60SSL2sgIGatdbf5f44wYKVf++35MNXmc7sXJ74oZaAarbBDUYdBkXZD4nSWbAAs+HvBzvdnOlYMyLGrQOJ8C3dglTD6MwwNCIE+6I3Mg3GEdgKYSvjOfjYfSTMSLs8byVQ== 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=rzX+l81j5y7f0CtI8hWxu+7DxNcJYKbY79rkafOc7Co=; b=CO3erXCHox30xTSubsGAQT05CnYhjcnI0hq/v6nS4wbuQ92N/01XHi12MgWJFo8rx9x+dyUuRiiF+CHWnMe+wCIn3y89yFaJNxZiVUqGYEwCjnzAAxcVbMivBFF3KLrAiXqbUWfxw8wiPjt4GGRmrzXUK7B5HwzRpKhJOMFEM84= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3544.eurprd08.prod.outlook.com (2603:10a6:20b:4e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 12:50:37 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:37 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 05/14] block: drop extra error propagation for bdrv_set_backing_hd Date: Tue, 2 Feb 2021 15:49:47 +0300 Message-Id: <20210202124956.63146-6-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:36 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 977a0718-e346-415e-6e25-08d8c779234d X-MS-TrafficTypeDiagnostic: AM6PR08MB3544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:765; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZdTkb2GK//Sz6RY6885Lm0r6jcINkxAHF4TWEDUTsd7n9YSWqmLF6RuVb4xDCJkOgZKQWciOStKe+W5ppXx2dlQ7ezQiYCJP01laCg+HFHyV1W1d5fde93imdJXy/gLOGarjimqoi0QzaWJ7ocdGxrXDV6p9qP2YgHgTgHOnpkM8zIFuZfY2zReoBLCKNtz/6EznrFpuDYNfuVe0aO8+kp3WgYT5AmfOqfyM35l7OFJgs62ftx6K6cdy4iQBUJPIRdcD4YGWLcWMv6lVsuQqzlSjwi9M/DT+F93YlBKJ2zJhGAYP+V6v/n5LXAcnWuzdm2Pbui+aYY3Uv0IAITrpN2r1wXTZM+1WKnSsSOoozYeZv6DqISur2I3w7063o/3FuxZxvfafNi1dt68IKizro6fgfuq2nfytqos0OdMuj88wdzgSIA8kNwJ7HA0Dik/WTHKx3J8f3rQgBhhKHMC7ORyQHaJzxhIg8Zo6+AFf+6qnAwgvAJ7g1udOnyIVOyfZniIP1jkt140mDz/4uMJT7g== 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)(396003)(346002)(39850400004)(136003)(366004)(376002)(478600001)(4744005)(956004)(186003)(26005)(86362001)(4326008)(5660300002)(83380400001)(8936002)(6506007)(8676002)(66476007)(2906002)(6916009)(2616005)(1076003)(66946007)(66556008)(6666004)(316002)(36756003)(7416002)(52116002)(6486002)(16526019)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 2WEWC7vkV6er86FxgEuFHpPeAU9HpcviTiu4g1VdwP9+/fq+pb0YcuFUQ4u1QXsW/2ofFIRs9ZXQ3E600yrGA7y80hAploalL0e0BqzftHDcd8fV89nLfECs2rGog9P7d0jC/6yfjrP+jE6FzAC3OXCVprftmfW1yvzkcPgFFAm30RqIVZWW8RduBSkwugn4YMtO4fDGecpASqQ4yYp+9MDFkD+X3b7JQuFNgA5/zEMb0mYPRa8ckt9RZteBjln5i7DnDg6TS+4mVQ0HNrYwYZZHMBz6fg9u7kMkmwjicqSEXw9Nj5UGBeZrN/+e2EnC3dzIRX4uYzRwwdw2OYrxJif1NMfCsZykiqJp2aR+L2sCErKJyyYlRDLt4HBkWK+UYqRuKMxwz4DSsRS23/zcbAIst2olSu2tkKBYjxkMf4Mpa5a6LajcsweOt7q+YQF9yQ2hdRcAYce+Nlkp6qzWD8QBt57DRWGWkbvB5WDneFs8sLyaBg7lyEkBZtIhj9VIlT3yuOc1bSPWoGZ0e0Yfl6VN1/L0vmX4p1pGqoAdBqhARq1+2v68z6OWwSm8TyNHnidwoKcPsrcmjuE4A9D/pAxLiUvtuCc8ZXd5+kDTMdzmYbL/+65W/yEE3DWmZihYbFCJVpVlOB0TKulkJobugjF4TKlP8vnheNutj2+rhzNs8em9OL9pP8FshFseL5jIQ8xmzYyE3ueCDpXAXMrQX4763LBhfataEFp1USnO914O5Pa29bNry4y2skeCqnR95LYvz6pGW8yd2CEPMCtPsneHwd+kyJ2LcC5Wb690GLeQwPf7arSs9hguVpmWTV8Tk66iSpXFBXydEv4dOqcjzBcxOlemaQ2+zjXKfR3aWVZaxaYvnGYJhFnBoNPXib1IA7CHy9d/xRf4luqJih3AuosgAzefegrqwOCoRhHSkZ+lrrH7dyf92uiRkyJSBavg8thqjGylWRDidjcuv4wa/O0M7tUC1KzKS8s0VyoSStLw4jji1hPDouHW/oLV/SYs7cbr//3vkMaSM7ZU9jf9e6jl4l1p+ugJ1GtY7eYdRYhCyYYdvZDNaNPP2J3Ww/c6 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 977a0718-e346-415e-6e25-08d8c779234d X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:37.1795 (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: 8buOGOKK6VGttNjkJv1qdtCr7dN7DmQXzpw8PtzZfMQTSrrMXeN7/cGiDUC6aZRVEuMWAYvZNDBYLVM6kgtylCgTUv7SWycHwjBHqJtAtyU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3544 Received-SPF: pass client-ip=40.107.20.114; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" bdrv_set_backing_hd now returns status, let's use it. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Greg Kurz Reviewed-by: Alberto Garcia --- block.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/block.c b/block.c index 48b0de36ff..d679ed8036 100644 --- a/block.c +++ b/block.c @@ -2973,11 +2973,9 @@ int bdrv_open_backing_file(BlockDriverState *bs, QDict *parent_options, /* Hook up the backing file link; drop our reference, bs owns the * backing_hd reference now */ - bdrv_set_backing_hd(bs, backing_hd, &local_err); + ret = bdrv_set_backing_hd(bs, backing_hd, errp); bdrv_unref(backing_hd); - if (local_err) { - error_propagate(errp, local_err); - ret = -EINVAL; + if (ret < 0) { goto free_exit; } From patchwork Tue Feb 2 12:49:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061565 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FE3BC433DB for ; Tue, 2 Feb 2021 12:55:45 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 958D064F45 for ; Tue, 2 Feb 2021 12:55:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 958D064F45 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:56454 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vDb-0008GG-Mh for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:55:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46840) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8q-0001Hi-VF; Tue, 02 Feb 2021 07:50:50 -0500 Received: from mail-db8eur05on2120.outbound.protection.outlook.com ([40.107.20.120]:42944 helo=EUR05-DB8-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 1l6v8o-0001yT-AQ; Tue, 02 Feb 2021 07:50:48 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aGX4LEIP5Z0hA6vNINcokI9u9yMrM+ASgBOlG9AroxvLiHE6Q7AYT4NbflIPMTHuSsmIqwYdDU1PYDGmMINmng3O04wuUoBws9I/LryLoPTnndIzwcnqmGfq2sGW/LdBWLijZLKOF1purH2R/bpMyCjFnIBCTdCCHetAlmw4ufzLU7dVcODFUYX71dWLGeEf00vZ6/9SetDBlrIO4vxBIuthsN7JktmMRdzV9z/wS8v6+q7/s8YNqnfZDmZham/ZXfFJs3f060+B4GD2nXf2ONVkx7WKE07JQNu3bLrgmZcxMZ4EJcvbv9gMa/FInULlqjD/JYJVXsmF+7r4pBPtag== 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=Ri/gAVBqCFMbPnfGitHImcXgSuKzBCYqOqV/VUfQisU=; b=Ty3RC9Gn89XNnv1V303HZsBqTs/J9NpAU/Wpz17/1uewh4/i+HuumqlTkJYS9k1LDB7N2eQRIp4Oj7RnpIrhLspsCSblQYd9IQRXZTiyAPqxGiJPxEG6FHM+EuFL93i1X3dyNoPoVh9XH7BQ5SLun2m1EBFVAzhdL3IMn7LBPcLOgsOvfw1Z3tk0SjH02BvveX/WJVanvzd6JKutJJ6/Lh1duyD+uvplFIOMw0+53PRsqK3rDf25ynVH33RO5MPwgawA6OToAZ84OUkARoBqeC1etAhiMgw/r5xi9G7eom+7/wOI0wWPWghxaTG41BA3T81lW64p7aJgsMoEvVThjA== 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=Ri/gAVBqCFMbPnfGitHImcXgSuKzBCYqOqV/VUfQisU=; b=tYoSanXx22F+G9aTWrvZKQ/cy3AoCym7kr0oAFC/zya+j7xbLu5E0meDwME9LDwhCgdnntDd7Qa0Z6C33PmsbmmVeziF5o8Uw4N+NtSyY5Pq1xmnE/qzC6mlN5Wpkum/h/MhSWz0cSv8wM/U1mmZdMPNVr5qoaQSrfvNK64fLF8= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3544.eurprd08.prod.outlook.com (2603:10a6:20b:4e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 12:50:38 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:38 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 06/14] block/mirror: drop extra error propagation in commit_active_start() Date: Tue, 2 Feb 2021 15:49:48 +0300 Message-Id: <20210202124956.63146-7-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:37 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: abdb8be2-80b5-425e-967c-08d8c7792403 X-MS-TrafficTypeDiagnostic: AM6PR08MB3544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:268; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: syxLWEElFciq9M6DhNTbPhzlobVvIlZkd45m/16WhaWbOrK6D5zigYYcBk1TX0S7ns5dOV3tnHAfpsJN0LacreS7jCWdJGgUT0CnDWJSMiKquE+0cW3nbmhMYjbL9U6FHxfwEuZvJOFXCjTBdxTn0bEjoCG86CeNDGI90cT+LccUdKfb0DLpB/4e/8mk9TsmF4aDHokUzx4aVIOARYF4UXt73cq5XTIi435sIT92MvJxQ47vv202w95ejNZ23MaNYkDA3yvcJD4G/MpGq0RRjKnYcyyLZ3Rw8pXwg1xGz+dLRfI04gjYQ50Kt3cMgGkOtoF7qM1I2tWE8AFQWriNabjazYLDcLGjDiaXZ366UyslSThWUQLAsXJh4SC4z1T/hmAU8oCr5QgW/EhlZVMyONBJeW0g7P9qHKgUMV54mGUwxLNXx8tG1Fs1LNg/1U+q3AXxdDxX9fQVmi8E9BLBRk6ZdDRXB3jXEMx41G4xmOVkR8pEj62gumFlKNsVQKu4kinsYO489m+r+y76NMTNKg== 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)(396003)(346002)(39850400004)(136003)(366004)(376002)(478600001)(956004)(186003)(26005)(86362001)(4326008)(5660300002)(83380400001)(8936002)(6506007)(8676002)(66476007)(2906002)(6916009)(2616005)(1076003)(66946007)(66556008)(6666004)(316002)(36756003)(7416002)(52116002)(6486002)(16526019)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: ij9/4TEm3w/+l2FqBm3iwuEhMaI7VKmWDKxcFIT1EElox2obGruZg8F3EfYGms7RjIQ4DDznZvwUbkILvQeyl0g4+1BCJa06N9dmXubozGVp5usqSaQRt5q3WhtVsg1El1HpCQ7/GiK5Si05hO5HI7I1uaRHNNEjshvvAEqhf+zHl/3fRMgWw9JXa0RS9c9P9exest0cZ1L+q5Q4ArjRuhGJR8TAOCOLQOGV18FJk5hShJfRkuj1CqklvPNQ5qWQeLzOi/7V4MlxoYPIiVKpFwXbA339r0nNiokCZ8F0c4UcavWtEYpqbhIWvBAjf90tqRun0IdaaFZjctSkZNBjJiufFCplQNwGfM/e5qKgm19vv5vpdhxrUeqBeRXjV83kTspShCTfBdBtm+OAweTFuCqcH+8R/jjVugYFbLLAy2dw9LWAudMe4N2hAIA7+2tr9loLL6XANqjGt0fcuuwlzJB7zgLvggbVRgoCuqAaq4yNAKY1lGvn2dNkahOViaTKB1K5/oXVebE0n8ZKW+71Uu+Uy+HVX0AagHjnhtfS2kwQxVA5lSttPP5ac5TZHSHlt+KHJq2uV8lPVO7GMCIVxuvumYOJMPCdwudqhzNgUOWGDmP/lSZScAo92/pE0bBSPHgff8VfY99zB05f4In5SlgGK2W1OK225WjENP3EVu02rnQXVClAK5w9qJRUhCTDaNzoze48W6N0KHKioOgiHUE85f9qED0bfj+u8RswJbek4Z0drBiBDwakARxzjT0F9vNxJVmyEuNS19c1EKby5b4hbRrhc8+yTSmJNfuc5yzGNudO84zWBQModtz/ofIouMG69Njbwh9JBcBTyk7u5nBHuDRfgqzx+4QVSIILG7yGaf47yGuGEICZFVLWCfSdHINOHC5h2Tz51gWEmtuSNxZ1uj3puQoH3cIpfn2pGRJWYIo+DDwaM6v69kwzccM8PIXDMA9Iujz3E9EnO0otTb7IRMoSKkmtUT5ZoviV5V0PrrAm4mm+JfJ1Zo+23cjaKxzQZ5mRb64xu6Rd/MmgZCXHJyC0C+Av4SQ9Y4GjmJ8blRTsxCqpr5Am1DRVpyZW X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: abdb8be2-80b5-425e-967c-08d8c7792403 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:38.4380 (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: m5H8DeKY56EC/0aGqwgtSrwEiBjTH4XWxXTLq+FWfrIg4UgVvDTgvFEOWA+HAzb3+IB5bFAU5TBAD1wFtuXoKj4jGs1BJC0BxX3QpnlFe10= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3544 Received-SPF: pass client-ip=40.107.20.120; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Let's check return value of mirror_start_job to check for failure instead of local_err. Rename ret to job, as ret is usually integer variable. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Greg Kurz Reviewed-by: Alberto Garcia --- block/mirror.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/block/mirror.c b/block/mirror.c index fad2701938..b7b5686a57 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1851,8 +1851,7 @@ BlockJob *commit_active_start(const char *job_id, BlockDriverState *bs, bool auto_complete, Error **errp) { bool base_read_only; - Error *local_err = NULL; - BlockJob *ret; + BlockJob *job; base_read_only = bdrv_is_read_only(base); @@ -1862,19 +1861,18 @@ BlockJob *commit_active_start(const char *job_id, BlockDriverState *bs, } } - ret = mirror_start_job( + job = mirror_start_job( job_id, bs, creation_flags, base, NULL, speed, 0, 0, MIRROR_LEAVE_BACKING_CHAIN, false, on_error, on_error, true, cb, opaque, &commit_active_job_driver, false, base, auto_complete, filter_node_name, false, MIRROR_COPY_MODE_BACKGROUND, - &local_err); - if (local_err) { - error_propagate(errp, local_err); + errp); + if (!job) { goto error_restore_flags; } - return ret; + return job; error_restore_flags: /* ignore error and errp for bdrv_reopen, because we want to propagate From patchwork Tue Feb 2 12:49:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061591 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 76C19C433E6 for ; Tue, 2 Feb 2021 12:57:43 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 196F664F49 for ; Tue, 2 Feb 2021 12:57:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 196F664F49 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:37160 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vFW-0003Yj-3i for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:57:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46866) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8t-0001K0-G5; Tue, 02 Feb 2021 07:50:51 -0500 Received: from mail-db8eur05on2120.outbound.protection.outlook.com ([40.107.20.120]:42944 helo=EUR05-DB8-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 1l6v8r-0001yT-I1; Tue, 02 Feb 2021 07:50:51 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VreWFfkRSlKxZmZyjezD1++iLR11Fgfe2NwwNtMh2gaCA8XFEUa+QykK9GXVTIJ0Bpp3lyUjTodx/IrS91zkM54n2IYTMQY8cikJwwb0MfD1656WaneaOADKR83/VsiIasxPJ7XK6IypBCsbl2pajXRbLUcQBr3jJHS1P3QYvh3CW1QbuzIAWG16iR101ddE24lAKjcagKKgOaIQ6PoTIBoIdqmRCMKE9oyemNeYg/lG2O2aigYbc5vEZltlySsUl26+/TBmJsRBURBJd7FTtKouL6Js1JTPVFhswdHkxn8u6V2ckvrg7JMNoZJ3fzfrutfDvnIaksed4AezmPADbQ== 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=+tT1fFIogUV2Hjar0Ka570g9bZoFu65NRMIOSdWnyOk=; b=d8GlRUCFjL3AksvxzGaF3pY2QJW5B3sAnV9PZzeWYyTjTuKqtmd/bhU/w2FSMH6ShSjRrtYeC+y8LiUrM27EaSA4zlaWFhF4QpZ8ItqUn32/ceT4x1J1NPZJK+ZZ01D2aXVX6MIdEafYN/aTHppSop2KP1Gio7aZxeiEa5pVMyzfO0JrCzDe0/1suB48lA06ZCH7RvzoW4gUptRrN62wMPt4E1BKUwA0pV+IW5KFX+xRFqNAWUUNRmK6PNyCxyVOw2KDgALLaGhGdNetyASJAJcqroxdw4BEj5Q7jFhaLvJX/AyZ6xBegbofahHOP8+/+Pn5vy//VVszd8FVK5Tt5w== 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=+tT1fFIogUV2Hjar0Ka570g9bZoFu65NRMIOSdWnyOk=; b=uJ0nvanLni3yJXkz72UlXS8mDw6MxmTh16TjwItj4dYpS2piApzK4h43ryoWdrLlWK9vTn1yYQD6xaxd6FOtwJmX0/CXUjcKtVxFARshBAxJT7Qgbw4N/rB1BWdTBYLXrNJZPzKagvlGdgDgK4aPSJC/lmaHf40mCcUirPjcfOM= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3544.eurprd08.prod.outlook.com (2603:10a6:20b:4e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 12:50:39 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:39 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 07/14] blockjob: return status from block_job_set_speed() Date: Tue, 2 Feb 2021 15:49:49 +0300 Message-Id: <20210202124956.63146-8-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:38 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8dfb6dca-4c96-4722-8b21-08d8c77924bd X-MS-TrafficTypeDiagnostic: AM6PR08MB3544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4303; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Uu8/Jvmw5UDXw2ZvhE0nvczkIJVUhMGbJAidtIQ8a/tJBTUl0ew+/QEJhR6UdgrCDYaTEhnB/c0CaPUU8FIrc7BWyoFI2KMls2/pR7rBs4ZrNwiu/pCXlmHLSXkmXtJrtABVzrkvb5bsLhEhM+foTuy34x2Hg6KbA6JeLS0Pd7Lyx5kJmqJMRAYPgN+cJvRlJRplwY6uxzv9OxjVcTkB7Zy/I/9uw2FfJxmkWQP5xyr8GlciN7swFyxfoDecBRL+JzuaswzrzFtbXgI816YgE2paReuAv2D/V2BUAGmONaIqG949AOxIg+7RwtoOJYr3VgOoUtomrjVIFPGG+YE/1sjXAptUd5S7iqhDdpa2z2o1JiN7M8BgKHa7We4LUg4imWdLU0nDqQMYUjWgoQZztwydx+wyiPpR0Em9v0QzRypzoEYLtPTG/zgsTxi4/Am+gv8lt0DU5goy5sx3EhK/iRoJQSImO/bNN6pheVKkP6BKa/Cux2wXMSTx2mp9xCwKXqG5NPORJSvT50F5TyjHgg== 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)(396003)(346002)(39850400004)(136003)(366004)(376002)(478600001)(956004)(186003)(26005)(86362001)(4326008)(5660300002)(83380400001)(8936002)(6506007)(8676002)(66476007)(2906002)(6916009)(2616005)(1076003)(66946007)(66556008)(6666004)(316002)(36756003)(7416002)(52116002)(6486002)(16526019)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 659hM8MXqYP4FFElJBoGS9RHHG4h206ET0nP2Wi+iRPaSgLusg5OpqPCQTq7u86a4S1N3U+nLTqQrvu7ut4WveMoOJjLa1RiiK1I2imwk+RyPaybjRqRpPX40jkIH3oIfOgceZ8bLESmELwh9w1lnA6oROgwRXhCi/Ep40vpPaOrljoEwF8GtBc6NN2ZTzDmyNJ+26TEPQi0pTZdZD/XG0Yth57iaye9+RCCqSfPOJwqW40wR7wllAgQZrfY2gYAybNcsMDioe7Gt4e9okr8RERKlxZfmok9l8iUOzQQo/YiFtj54tigyEsBTaWVtnOAC2FKlYfx6KvDIZeWXJ2MxVw9hLqgHcJPcs5MHZBgPsnmeOb/a3zJm3D/FqN8BfkwZOjRW1GnsrytgodoIIrQsk/InXgf5iS6N7reCNMw+oOcY52cDG5AuUS18rXrzPSOuYyhr2W/RJ9l+XconQokDITYKyz5tWsQSRYaKK/egpJ94US1NA/lItwU6Q291u3ajmZUg/e5/8aYmRE3xAG69QfEnBkSkMwXxxVELzQ+eMMJ8fFItTlv+iV2lwJjH4QQ469hnX+BoZwj3B7SoceuXdlY0lu+XQ3DA3ABIbkZKnShi8gxn8jXzk0TOqKAcNM9VXCNjDbFpPZ0YbM4/5/E2hweI8mEeAnLtd7FmMMw9Oi2vz1R89rZ9aek2tYd8DMqktWa1GQ80iJemqscZrOH8tg2/JeRGJz/VBONafrg2GDVVWC1vjESv7eETC8dZdXTL1HqejPYjWZiJRnI7qQfVghLQgc5LNf/YT6YMovAOhH8q7A+80npZ/QLXJNcd9hSFa9Q1MI6fEMELWR/UVOqLKN7vo4bTw7DiIv4Lj7UAFxKmj5ikhJTSZ6BAM8fYyBQl2BXP7NULMSDjsGP7gLi1j79Kf3L9+kbUD53+IRNuQOsYiIq3GzCnNefgIsribRfPURvJHsIAE5yaRj4hLNbXcjmAlFvy8znu8tPybbR1jQ78URmqq/u3FfexO+Cmyalsj4Z6CuJvqp8hXLcO6aLmiIyKaQKn5V1SeZl1T+HP8l81z5nVCQ2zIUQBwHLDQnz X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8dfb6dca-4c96-4722-8b21-08d8c77924bd X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:39.5700 (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: /V5ADtQN8jDEacq338KCSpLd+CN4UbBGyuk7g1L2ARJg1bP8tQEMQzTXzxH2whVVq+Efln87NF6x8TJu0Ibpegj4tVOXiDZYQfIj1GXqiag= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3544 Received-SPF: pass client-ip=40.107.20.120; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Better to return status together with setting errp. It allows to avoid error propagation in the caller. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Greg Kurz Reviewed-by: Alberto Garcia --- include/block/blockjob.h | 2 +- blockjob.c | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/include/block/blockjob.h b/include/block/blockjob.h index 35faa3aa26..d200f33c10 100644 --- a/include/block/blockjob.h +++ b/include/block/blockjob.h @@ -139,7 +139,7 @@ bool block_job_has_bdrv(BlockJob *job, BlockDriverState *bs); * Set a rate-limiting parameter for the job; the actual meaning may * vary depending on the job type. */ -void block_job_set_speed(BlockJob *job, int64_t speed, Error **errp); +bool block_job_set_speed(BlockJob *job, int64_t speed, Error **errp); /** * block_job_query: diff --git a/blockjob.c b/blockjob.c index db3a21699c..c96cf7c08a 100644 --- a/blockjob.c +++ b/blockjob.c @@ -254,18 +254,18 @@ static bool job_timer_pending(Job *job) return timer_pending(&job->sleep_timer); } -void block_job_set_speed(BlockJob *job, int64_t speed, Error **errp) +bool block_job_set_speed(BlockJob *job, int64_t speed, Error **errp) { const BlockJobDriver *drv = block_job_driver(job); int64_t old_speed = job->speed; - if (job_apply_verb(&job->job, JOB_VERB_SET_SPEED, errp)) { - return; + if (job_apply_verb(&job->job, JOB_VERB_SET_SPEED, errp) < 0) { + return false; } if (speed < 0) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "speed", "a non-negative value"); - return; + return false; } ratelimit_set_speed(&job->limit, speed, BLOCK_JOB_SLICE_TIME); @@ -277,11 +277,13 @@ void block_job_set_speed(BlockJob *job, int64_t speed, Error **errp) } if (speed && speed <= old_speed) { - return; + return true; } /* kick only if a timer is pending */ job_enter_cond(&job->job, job_timer_pending); + + return true; } int64_t block_job_ratelimit_get_delay(BlockJob *job, uint64_t n) @@ -454,12 +456,8 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver, /* Only set speed when necessary to avoid NotSupported error */ if (speed != 0) { - Error *local_err = NULL; - - block_job_set_speed(job, speed, &local_err); - if (local_err) { + if (!block_job_set_speed(job, speed, errp)) { job_early_fail(&job->job); - error_propagate(errp, local_err); return NULL; } } From patchwork Tue Feb 2 12:49:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061595 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AAB67C433E0 for ; Tue, 2 Feb 2021 12:59:18 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2A41464F45 for ; Tue, 2 Feb 2021 12:59:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2A41464F45 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:44926 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vH3-0006pp-6S for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:59:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46892) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8w-0001S0-Bv; Tue, 02 Feb 2021 07:50:54 -0500 Received: from mail-db8eur05on2120.outbound.protection.outlook.com ([40.107.20.120]:42944 helo=EUR05-DB8-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 1l6v8u-0001yT-7s; Tue, 02 Feb 2021 07:50:54 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IkUEC9fwlLF8vHVjbW/Bk/wr617GJQSmKd1EyGrPt0VGn8iuFFnELAsgCAGXtbf5pt12lEsMIGv7RiiANzY4gNI8FtcP2EzNZ4JlH+n3t0F76AMFA+5CARLY4p6cWlEfZR2dYxuVJ0FYoEWQ3FPt8LacC++Kd5EbQlaCMuEKNqQfdM6ytVJ056aH5U2aG83p/3xM0xtuWtfKjsN2OQ28Jq+z6ZMRF74liKwncs/Bunq9ezqZVSrMsm71VjuZRVJ5FiA7GotMjbg7KJVW7b1mv1fSJxoUjH3+0SmGZMpJJ1SF9xikDFUmIltmQGnRpOcBEBUINPx0cJGMVnfLsLmqyg== 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=9eFvLAwF5g2CYHp9B+csauDSAaAHZNraAYAc+ODYdTc=; b=EGVoJX++QqbvU9Lz6PAxaWMSZ0DeZh/FZ6aj8TfL+43TiIb7I5x3UqnjJYY6xE+wqxDe/QQx+XRyoZOVYlWtxLW8rZs+ZP1dLi8W9zIHHMyt3lZTgJTntTd7dnUfi6bhqkJPvuWWaYEZTjiaaRmAhWm1VR6CByw+VpPBF+7iTsBc6zN1ZdiQfwcfIxGid0e790GScbFXWgBxlfjIMWCX8yBI0bEow8Y4oC0y06JJ30+vli2CcQnrVQhsABMCDEsONx384XVsTQXup6hL4s5aRlg3RQljefGIBlSyPcbNdx2LEFIQpgj+EicLp29Mm+YcWHOy24uaoUY4lW3n6VGz3g== 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=9eFvLAwF5g2CYHp9B+csauDSAaAHZNraAYAc+ODYdTc=; b=Z8L4eLpjPEL9MP4It+IHDHUwuZllCFyVBOumzlq+gcH3hnNRgD43lnGXKSfKR+vjbaboEfBDXICIMnknIIj8NHZjWMBMqxotGTjbtxsz+oJwu+JW7rpqIO6xYCOgSrJZ+YvcFGVWoMSOaQrHlLXS2WTwBBWq4o67Oqq12f/pqX0= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3544.eurprd08.prod.outlook.com (2603:10a6:20b:4e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 12:50:40 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:40 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 08/14] block/qcow2: qcow2_get_specific_info(): drop error propagation Date: Tue, 2 Feb 2021 15:49:50 +0300 Message-Id: <20210202124956.63146-9-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:39 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6484e066-0a25-4243-ed7d-08d8c779256d X-MS-TrafficTypeDiagnostic: AM6PR08MB3544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:298; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W+O2Z73Ee6crwzcmPafx1WPxnybshq6Aws+urUyBS3NLPwFxxUxwjasxuIEqRuSQGyWJ68dw2IGl3yMk/hHzjJG8m2QUULfontE1UbHh4aJslX3R82eMM4ghs19PIXxGlXvfExbs5oH/eUhKvPFbsDyaoeetuHHXn2bDFtMJSeGNye4gAidKdVmFqjt6q6kFKuPBXhok+AK5s7BvFPogaW+b118Sx5wGVgpjH+ifpv9jrMFU19vvxt8AvRbrR5fNYKR2VNQ2jiyskpSxZ1rbnL6afIQdI2C+9/UI4gDzM4v8R94prrPELMZHsU78f8b0QYAGQqQ25ITZ3yPGj5pmCX4EUXsop1x2w2YmT1HMWR1zWxHLw06d3899J3bdveeIfylFNfH+QFpR82gvceESeIOjGz8KamYH4/izsaDdYf/2yoep3c64M5ALtp0u24p+n1auZcNzTud25JftJK50iVs0PgsgHRW5wrPzNJQ0BrciofffIzsXJ2QgERlj5l+Trr4/T3F3Y67ap5DBO7z5bw== 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)(396003)(346002)(39850400004)(136003)(366004)(376002)(478600001)(956004)(186003)(26005)(86362001)(4326008)(5660300002)(83380400001)(8936002)(6506007)(8676002)(66476007)(2906002)(6916009)(2616005)(1076003)(66946007)(66556008)(6666004)(316002)(19627235002)(36756003)(7416002)(52116002)(6486002)(16526019)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: qLMKIXwVxoXhQ3ox+Bjt2mGvf2M2/0zcuxXfJu5r8PlFkY6Ees3byuMFID2rfzNp8kPQSTTIWmL4JHypLJcUCFQ7YOZHjmSTD+6nwiOnhAg00jaT32QBOhrxrCxs8k8R4nLlIDp4LLfzWZ9D68ePtWgEYE2rO718A9kKkEUVf3dKJNt4m+Bs1EgeQjxHCjZtwqJZm9Ax+T7NMbEnghFFxZi7O4PQLfDUezfr42t3C508bZf967rYYWPYpvut1w/QAAwAHN+hh3/WelObroOm272ZNG6t2VRDA92BEWGNsxrZCzoT2C6hKgGr4qOchD8oaQO/eFnB0czbCFd5y3jZUT/uCd8Jvd2fwvS3/wpvdCi80s/TD5s2lHSqKZg4fMQ9ZyTp6huMkX7pzotwxhx3poKGQbiXQaUveUJLiPL6G+a05RQsv8wJGdP/Brh7JEpu8Gmzg7Xp8Gti688k/Cgjb3yEunSXbeha26wT7qS69Hpn6fBE3M84PxUXWXczTqZc+0CbFk4rKO+qIGHNehI8gHNPG4JSVJVHykPJAsTGToz2lFGMutxiDgKBb2cT0YA53SgJZtbepVrFngyfIILBeDXCt3TLziC/TzNoStg3ZoWuvi8Uc0qK1R1Ikp/3EXFkYSHSXOv+TVIxuhun0VafHQiLJJMluxWLEyqw5xmfElIcPIFg7ddYQWJAHxyRaLCDpRjtCXIn1J19na2YtXyzjzF5WzHn98cJ1wEnQ/3ArQHEJ7ix5FYDzfhBrPj8nChQ2H7QbCRcFJmyFLkLR4uguPNhgrVEX6FhBqB9XoS+tdwHxRnPI1jUjQrYXC0QeamjdK5b8mvjYVDQKBr63q318R10PnE2oo4IoRtWNYhBzNvFWWbx/ssvNxZgMDPBDPcVmmY29V+pWaKWKn8nyVG3fCwyGJyPlEvmIMqj/qICuymn+3XI6iPFnxeY0b7pik3FfyMiCcQsv8+S7E3ukCA4L+x3n3CSIS9F0N2FDZpGxk3YiDEDir5T/o/hxO+8BvHMgaBYGG84Hai2oM6oL6YROGkR6Z6LiDMakezHeiYj98Fh6xcj0+vQgrvYQOdiE+P/ X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6484e066-0a25-4243-ed7d-08d8c779256d X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:40.7061 (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: Mryzbo9XkNf5qncRgRNjymbDNVgq8DzKMC9V07KUHLR/oFTZntv6kVssEOj5QlAX1XB0MNYH6M6kRt6QA4tOK/XPSUvK+PpA2w3W6E54yXo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3544 Received-SPF: pass client-ip=40.107.20.120; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Don't use error propagation in qcow2_get_specific_info(). For this refactor qcow2_get_bitmap_info_list, its current interface is rather weird. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- block/qcow2.h | 4 ++-- block/qcow2-bitmap.c | 26 +++++++++++++------------- block/qcow2.c | 10 +++------- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/block/qcow2.h b/block/qcow2.h index 0678073b74..a6bf2881bb 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -979,8 +979,8 @@ int qcow2_check_bitmaps_refcounts(BlockDriverState *bs, BdrvCheckResult *res, void **refcount_table, int64_t *refcount_table_size); bool qcow2_load_dirty_bitmaps(BlockDriverState *bs, Error **errp); -Qcow2BitmapInfoList *qcow2_get_bitmap_info_list(BlockDriverState *bs, - Error **errp); +bool qcow2_get_bitmap_info_list(BlockDriverState *bs, + Qcow2BitmapInfoList **info_list, Error **errp); int qcow2_reopen_bitmaps_rw(BlockDriverState *bs, Error **errp); int qcow2_truncate_bitmaps_check(BlockDriverState *bs, Error **errp); void qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs, diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c index 5eef82fa55..c95d6e37e6 100644 --- a/block/qcow2-bitmap.c +++ b/block/qcow2-bitmap.c @@ -1089,41 +1089,41 @@ static Qcow2BitmapInfoFlagsList *get_bitmap_info_flags(uint32_t flags) /* * qcow2_get_bitmap_info_list() * Returns a list of QCOW2 bitmap details. - * In case of no bitmaps, the function returns NULL and - * the @errp parameter is not set. - * When bitmap information can not be obtained, the function returns - * NULL and the @errp parameter is set. + * On success return true with info_list set (note, that if there are no + * bitmaps, info_list is set to NULL). + * On failure return false with errp set. */ -Qcow2BitmapInfoList *qcow2_get_bitmap_info_list(BlockDriverState *bs, - Error **errp) +bool qcow2_get_bitmap_info_list(BlockDriverState *bs, + Qcow2BitmapInfoList **info_list, Error **errp) { BDRVQcow2State *s = bs->opaque; Qcow2BitmapList *bm_list; Qcow2Bitmap *bm; - Qcow2BitmapInfoList *list = NULL; - Qcow2BitmapInfoList **tail = &list; if (s->nb_bitmaps == 0) { - return NULL; + *info_list = NULL; + return true; } bm_list = bitmap_list_load(bs, s->bitmap_directory_offset, s->bitmap_directory_size, errp); - if (bm_list == NULL) { - return NULL; + if (!bm_list) { + return false; } + *info_list = NULL; + QSIMPLEQ_FOREACH(bm, bm_list, entry) { Qcow2BitmapInfo *info = g_new0(Qcow2BitmapInfo, 1); info->granularity = 1U << bm->granularity_bits; info->name = g_strdup(bm->name); info->flags = get_bitmap_info_flags(bm->flags & ~BME_RESERVED_FLAGS); - QAPI_LIST_APPEND(tail, info); + QAPI_LIST_APPEND(info_list, info); } bitmap_list_free(bm_list); - return list; + return true; } int qcow2_reopen_bitmaps_rw(BlockDriverState *bs, Error **errp) diff --git a/block/qcow2.c b/block/qcow2.c index e8dd42d73b..1e83c6cebe 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -5063,12 +5063,10 @@ static ImageInfoSpecific *qcow2_get_specific_info(BlockDriverState *bs, BDRVQcow2State *s = bs->opaque; ImageInfoSpecific *spec_info; QCryptoBlockInfo *encrypt_info = NULL; - Error *local_err = NULL; if (s->crypto != NULL) { - encrypt_info = qcrypto_block_get_info(s->crypto, &local_err); - if (local_err) { - error_propagate(errp, local_err); + encrypt_info = qcrypto_block_get_info(s->crypto, errp); + if (!encrypt_info) { return NULL; } } @@ -5085,9 +5083,7 @@ static ImageInfoSpecific *qcow2_get_specific_info(BlockDriverState *bs, }; } else if (s->qcow_version == 3) { Qcow2BitmapInfoList *bitmaps; - bitmaps = qcow2_get_bitmap_info_list(bs, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qcow2_get_bitmap_info_list(bs, &bitmaps, errp)) { qapi_free_ImageInfoSpecific(spec_info); qapi_free_QCryptoBlockInfo(encrypt_info); return NULL; From patchwork Tue Feb 2 12:49:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061559 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5E773C433E0 for ; Tue, 2 Feb 2021 12:54:41 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C82A464D5D for ; Tue, 2 Feb 2021 12:54:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C82A464D5D Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:53878 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vCZ-0007E4-Qn for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:54:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46928) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8z-0001ZM-1J; Tue, 02 Feb 2021 07:50:57 -0500 Received: from mail-db8eur05on2120.outbound.protection.outlook.com ([40.107.20.120]:42944 helo=EUR05-DB8-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 1l6v8x-0001yT-0l; Tue, 02 Feb 2021 07:50:56 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gsk6T2r4YQKgRZjECKtX5nO1vlP4Bms2WvKelu1/RjDlZIKkESdyHZ8I4jh777p8vc2MKjU2PzyAfqmw/+Fcn91JpFRBh0Q5rTQKLvHOf88chCPKfq2djJ8pJvBH/RuleWvEH9zFUlWPherJBdrCzi7/Umr0ig6iKXxptyTMxv2PCNigVV2+0Q79asF+jjnIqGmHBVhOFXmSB4lm5gwa1Gq99jSJrTJ/cUW9klkrqTzE2IQ1suaEyjL9E/6z6GeOVEuEeBx6Ko7G+houd1D0NciLZpjJvJKBNPOjC8qzdn9SRGAHYsT3e1TtmAUZGCczZjnH3kuhJdjFaYGZ1AO6qA== 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=z5khsQRSFypPLc4HZJGAoILFVNcRR/hm84c0jSSSPT8=; b=I4yfy6xe7acMDYbTDm5RgUwUjqryIoqD7nKa2p/wOx4elEmTVW0ktCUJ1kIqqd+wGHnhT9RzU4DbdaUfcee4Y0YQh8QVrvQkuIXAWMAyqBWKbD0k883wjWoTrmnjW2XZlJlPH1xSJK90Tae9QnI8eO9mnhPSaIlvvdDkqleQ2YuaNsa83C0t40ev8IsyzN1T39h0RAB9jCDDNHjWFl679DLzNfUMWEqW5nsmuGZ13cYw12AiD9/lknA2Nwixb8Y2B5Q/Fm5/XmIvGOt5V/mMfOnKJrI4oJA7iJEA24/u+bT7VujLyBVryLOx+EJSIfM6Ig/TPR0QZF0h8uyTaJyU4g== 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=z5khsQRSFypPLc4HZJGAoILFVNcRR/hm84c0jSSSPT8=; b=qZwuHmAI6qEpf82j1SJBz4PZepPyX6pwnnTsJrq6t9F3237qZXiswc5PsLLuRoEMo8hKV4nvMMVY6YDU6TBFihpv4ZREyr7UmnbIFtIqHZsKGjbFzFV9+r4zVW4FNb6rvs7lFiTZC4U4E3Hxn4x82mMKdzJvb9rne7zACucsl4Y= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3544.eurprd08.prod.outlook.com (2603:10a6:20b:4e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 12:50:42 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:42 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 09/14] block/qcow2-bitmap: improve qcow2_load_dirty_bitmaps() interface Date: Tue, 2 Feb 2021 15:49:51 +0300 Message-Id: <20210202124956.63146-10-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:40 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dba8cdcd-5c55-4c08-9745-08d8c7792620 X-MS-TrafficTypeDiagnostic: AM6PR08MB3544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1051; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /mSNKehYDhkGya0/pWkNqFwzSQmlB7CKDcR06F6szMCKQwLiRnpgZOzMCSUESnMZdc5c2FKvGzqgk/jN+eWNMxm3BNLV9qXEzD4Ii3EFJF8SWsnLOGPoFmac4BgQO0braUIUnRD12Vu1O5EY7RIx7TCsHdt/IZXY8hjCOQFzshVQ/mXN9jeuVBYlkh1tUdpE4XyPbfbMpZ41tdtROt5viyCFhqUSl1MRKqCJGZS3ei5r1fK85jVkd4CASFr/WzXKwEOYzZrPUWlI2GNpb8573i8/u234sqWWfYk1oOgR/uVj48c0TjGe6E7tH+6hBwW78FSFvsaaokTIitgN46OTKrLGr5pC2aeg+wkgpOhSIuajkF2df9cjO8EQuG7S4a9QShmIXu/fq5RCt1NNfPXj2PYIgWG+BwLPu1F+WZONYIqOkptEK2dGso3YHDI9fT4So0Ko4qthmp84ppvwHkKxSAAGo7sJqnzjaQfB90NwZfyAnLLDRrx0LLCmXRhAFQdypNyqMyL+T2sjV679LEaKcn3mDY4dLOyFOMOkHB4ocOTLZ9WdUTi5zQd48edweh/T 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)(396003)(346002)(39850400004)(136003)(366004)(376002)(478600001)(956004)(186003)(26005)(86362001)(4326008)(5660300002)(83380400001)(8936002)(6506007)(8676002)(66476007)(2906002)(6916009)(2616005)(1076003)(66946007)(66556008)(6666004)(316002)(19627235002)(36756003)(7416002)(52116002)(6486002)(16526019)(6512007)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 9e8A8unp3UK2PfuyyX/WCr5RvxhKDXKb6IlH1rKVX+bZRVlECNLbvMuyeXgWZQfMJK8B6sn66uvP7e8YkVEffqfT7imFxCxrEgFTO76VVQs/qDfiUrPg1ZOlj2j5BirJ9iBhXuuEcTdZSf4pbtfSTBrs55fPWPVYtMqXSUvRInvL8urgkoMTUeTCyzdOt5Bnawx1Kg7mduapcHx0h1O8iodwFDk6zyjEXSkU4qeDY9J7WOu6PBGWORVHJVXUbjshU28g+6AA4bkrXk2tFmUPW7S1SIHZLuGpvQMEZy2zmcYkmQzAgxWXeLGQMfBiDxDZ/yWGvl8bPU9IvO9I5ttwQaBdQP1bIWoa/p/ogLBpHB7qOxIliI8qVztcrJS+rgJehZG5PXegztnRdID7VUeDZq6qHrAdEdWlgwrA98EmBQRYJSsQ0BXDJXMl8YwAaUtnEwzKt1l779zj+f9NIPMFa8mFmR/rv7rCI19BWFfBoSUhamB+PHog0vC4TPI//wyOYMTAaJRNwk/h+FwzHHhWHrCbuGnCW4qjcMN4zOTO+2DtxMa4Xry4RUbi/yHRUAlQiSOrHjUnOUiSp5fZBvdiZM7sb9K2sWWutUopeoaMckbING/7W4EMYwZrT0qfy/rpZH3NDxv2/XwHucPuW6W9HU3A+K24G/RjgAWqgGWMm1VYhbJG5Lv1H+HZxaghgfbZjinINJbSgHfC8WOUmfjRf13ZZKd5aSX2xsYHClzs1UKhdHFfVu8rTDMOVJ8FoG5JgqGonH85ehsVm/5fPRTAxZ+nTYUDMceFGqPlh/mguK6ZQW8XdtlP2NA9MS3VHhDSmKPIEihsPbcHFskrcNGoCUqBzyWVPzL66eVKftZvtG+qLZAx+i90f99e40QuZWdNYqtlnks7iKA+eivniELfeycwxCn9WRBCkA6UK+fcJbaR2YTgPvY6zBSCzJuPB7aZ+lDH/8/OHsu2Rhh39Nzbh44gtpyFW/lhdhir7bsYpTRlJoYXimNT/huGhk6uvG11sX8iMBK9AH3qtqQUYffChye7PlqWY7s2iZy0lunR2Q0bgEcvKzV9gFGaRF5U10iy X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: dba8cdcd-5c55-4c08-9745-08d8c7792620 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:41.9108 (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: KFQYFAI/PTNKD3ydn0eI6v7tlNLeI3nhOEuerGvpl97Ju+Jjw1ni7U4E5zHQshwDw3ULCtAz0K9LAEEk9Bsnnblg38xQQMdCxgEFfurGa+U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3544 Received-SPF: pass client-ip=40.107.20.120; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" It's recommended for bool functions with errp to return true on success and false on failure. Non-standard interfaces don't help to understand the code. The change is also needed to reduce error propagation. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia Reviewed-by: Greg Kurz --- block/qcow2.h | 3 ++- block/qcow2-bitmap.c | 26 +++++++++++++++----------- block/qcow2.c | 6 ++---- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/block/qcow2.h b/block/qcow2.h index a6bf2881bb..d19c883206 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -978,7 +978,8 @@ void qcow2_cache_discard(Qcow2Cache *c, void *table); int qcow2_check_bitmaps_refcounts(BlockDriverState *bs, BdrvCheckResult *res, void **refcount_table, int64_t *refcount_table_size); -bool qcow2_load_dirty_bitmaps(BlockDriverState *bs, Error **errp); +bool qcow2_load_dirty_bitmaps(BlockDriverState *bs, bool *header_updated, + Error **errp); bool qcow2_get_bitmap_info_list(BlockDriverState *bs, Qcow2BitmapInfoList **info_list, Error **errp); int qcow2_reopen_bitmaps_rw(BlockDriverState *bs, Error **errp); diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c index c95d6e37e6..8b28e4c576 100644 --- a/block/qcow2-bitmap.c +++ b/block/qcow2-bitmap.c @@ -962,25 +962,27 @@ static void set_readonly_helper(gpointer bitmap, gpointer value) bdrv_dirty_bitmap_set_readonly(bitmap, (bool)value); } -/* qcow2_load_dirty_bitmaps() - * Return value is a hint for caller: true means that the Qcow2 header was - * updated. (false doesn't mean that the header should be updated by the - * caller, it just means that updating was not needed or the image cannot be - * written to). - * On failure the function returns false. +/* + * Return true on success, false on failure. + * If header_updated is not NULL then it is set appropriately regardless of + * the return value. */ -bool qcow2_load_dirty_bitmaps(BlockDriverState *bs, Error **errp) +bool qcow2_load_dirty_bitmaps(BlockDriverState *bs, bool *header_updated, + Error **errp) { BDRVQcow2State *s = bs->opaque; Qcow2BitmapList *bm_list; Qcow2Bitmap *bm; GSList *created_dirty_bitmaps = NULL; - bool header_updated = false; bool needs_update = false; + if (header_updated) { + *header_updated = false; + } + if (s->nb_bitmaps == 0) { /* No bitmaps - nothing to do */ - return false; + return true; } bm_list = bitmap_list_load(bs, s->bitmap_directory_offset, @@ -1036,7 +1038,9 @@ bool qcow2_load_dirty_bitmaps(BlockDriverState *bs, Error **errp) error_setg_errno(errp, -ret, "Can't update bitmap directory"); goto fail; } - header_updated = true; + if (header_updated) { + *header_updated = true; + } } if (!can_write(bs)) { @@ -1047,7 +1051,7 @@ bool qcow2_load_dirty_bitmaps(BlockDriverState *bs, Error **errp) g_slist_free(created_dirty_bitmaps); bitmap_list_free(bm_list); - return header_updated; + return true; fail: g_slist_foreach(created_dirty_bitmaps, release_dirty_bitmap_helper, bs); diff --git a/block/qcow2.c b/block/qcow2.c index 1e83c6cebe..20d67bd9c7 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1296,7 +1296,6 @@ static int coroutine_fn qcow2_do_open(BlockDriverState *bs, QDict *options, unsigned int len, i; int ret = 0; QCowHeader header; - Error *local_err = NULL; uint64_t ext_end; uint64_t l1_vm_state_index; bool update_header = false; @@ -1784,9 +1783,8 @@ static int coroutine_fn qcow2_do_open(BlockDriverState *bs, QDict *options, if (!(bdrv_get_flags(bs) & BDRV_O_INACTIVE)) { /* It's case 1, 2 or 3.2. Or 3.1 which is BUG in management layer. */ - bool header_updated = qcow2_load_dirty_bitmaps(bs, &local_err); - if (local_err != NULL) { - error_propagate(errp, local_err); + bool header_updated; + if (!qcow2_load_dirty_bitmaps(bs, &header_updated, errp)) { ret = -EINVAL; goto fail; } From patchwork Tue Feb 2 12:49:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061593 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EB5FCC433E0 for ; Tue, 2 Feb 2021 12:57:46 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 91CC764E40 for ; Tue, 2 Feb 2021 12:57:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 91CC764E40 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:37418 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vFZ-0003fF-J3 for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:57:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8t-0001Ip-3m; Tue, 02 Feb 2021 07:50:51 -0500 Received: from mail-eopbgr60139.outbound.protection.outlook.com ([40.107.6.139]:33232 helo=EUR04-DB3-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 1l6v8p-0001qn-NF; Tue, 02 Feb 2021 07:50:50 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ezEiyOPHxtJpwNM6aps79yeh78CHn+F/Qd0AfF08VSneCrGWHD5bZBNPXMZDQfgJ80DYo4f9A1pGJocfownlaVwKi93Jh2+96eTEtr7rBtajsFrWGkF5n1qdHunPDHeTao929dA4wmq7Yfw1T9EburV5eJoZKyQ8XNUzgE+cmrAdV85AMPo64Tz6Yq4XixAqxK6c+k88R3zrADEL0zqgWaI7v8MOQ+DcFo3u8bAF9IyrtP1CmTftgOUt3ooLK1avJPWRklZhS8Yc3EZzxlZqw+qD4t1Y0wccnhkK2SVqtExqdxAS4LTP8jE1PQOsHwGwopd4nC0op+8oJVAdexJvNw== 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=2dDduFnmY5K+fYA3jfZl0dvuzWuGvbC0cdRabvJtxWs=; b=DnGJLB665yPtO/D76B3gMqHOFlz74MRdBu4AObdCkSKXnLQjOYSmAhmH4/tIt55ZMukj0E4q/1rd08sBtjYT5Bbp6JSV1IdYi3Je64WTyA6xUYTPmMbdU/rG8NBv99A6ycoyx7WjwPWnb7VFQoPe2kqu0xgTAMy2U3fxQwpZ0S4m9dxa4TftZ2AQzJtmbC66uT0oNG6mZXbd8STMxQYq0qDiiI717QIhpz14olN4Vl7bee+HuZ0EPnzSjKKTZGRJ/yJypFXLdCJEOf01DnkbEOGGZOgf8DphbuY2JeFPwSUMe/1Q7tLqVU5cpxfkVESm/jrPycFgqAJWyfxNDJn5ow== 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=2dDduFnmY5K+fYA3jfZl0dvuzWuGvbC0cdRabvJtxWs=; b=dYnTRTPjU6CNQRBbK+2OKwqQxWLTwbBPcfad2tbLpTgsyR/ano74LsTPsH7Prurzwyso8Ej7EJb8sje2ACKygoOcUPQXzQnjhy9l9ijnDapYr/854UCJg/yzchceRj3pk6nSlfY+4Djbfo9kHj2v7FCqy/n4s0BbMoNL450MELI= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3623.eurprd08.prod.outlook.com (2603:10a6:20b:48::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Tue, 2 Feb 2021 12:50:43 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:43 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 10/14] block/qcow2-bitmap: return status from qcow2_store_persistent_dirty_bitmaps Date: Tue, 2 Feb 2021 15:49:52 +0300 Message-Id: <20210202124956.63146-11-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:42 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f61dfe0f-d382-418f-84fa-08d8c77926d0 X-MS-TrafficTypeDiagnostic: AM6PR08MB3623: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:246; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iM3t3GrKA2QzHgIApsbrXq3yRkCeUAOuamQbOWQx2XIjqDt5Aie0rNdcraX49joKYEUBkdDWo032M+s5fzuyJcqYAZh9G8bdt1DkR/SJxlkO8B0Gf+lEPViFKqiLV7//wc1vd6L2DUoKpBh3+XDv/xhKn7Mr5Z+R5DgCSzWUZr3P5qamzxjAZCuKeJCc+m13TahlJNXxnIRh3LiybAynmGEXN3sFaSZGnpeFybhHYgSPPUWdiT6KiWQrd0klOYZgQjV4RXplcUSTC7DHMPIRVkQErqcVVb8juyIkkcFzBUossFzgEBcY0Oe8boCZmF0J+qZIAcnsp3xJ9qECQgqmt0MV1Tl86KitvoWVjnXG8F5oS5BZbIuLTxjp9P1ouupfTclLyyd7u0RyA0BFkpx+ej1mSY8hpzyJc58GfmiwHTuHKVIbVfdoX0MLXKRUYKy3cux/oI7zzIARHIerj9fursGuczgrQ9QQgHelCQMPUjaBkBhbrwL18us2KPZnZEO/fxD3jsf/7vzHKqlM9GxBZhlC0VZHxGLDumx4X4wGGtHqox4Kj6Miel05v7vElD64 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)(366004)(346002)(39850400004)(376002)(396003)(136003)(2906002)(5660300002)(66476007)(316002)(66946007)(52116002)(6512007)(66556008)(36756003)(8936002)(6486002)(19627235002)(86362001)(7416002)(26005)(1076003)(83380400001)(186003)(4326008)(16526019)(6916009)(478600001)(2616005)(956004)(8676002)(6506007)(6666004)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: QYNlkzQmLp2lqBE4Q8J9xSZzlYas5mQbOMRvZ15vBvO2qFhJEy8RITYc1riggtvuRTe/qhH8DJeusWzWuRetK6DZN9w6j9M/qyPUG3soFaPa3mzUz948RwTrEiKloxf9U4OpokaYwwRsYUFPQQtssIMxbITzk9I/679HneoSKNhS5kr8jQEXW+9+J9RYf1CkHsHvRC51eOzscwq0ChhuaEiTD1eFLmmQJa0lftrjCvnhDWPBwT/wqRXySWF4MVujxBrz+ETrrlKkz2y7ITWAgUkwGfg410oQBEKaQQlmfCezs51KnAphhPM3+GhGURPgg0EREcxV8cZAGokS/H6GdcByTM/G07Yj2u9hCVfAXDgp2/nM395D/+MkjgMSi4AlOlG9tewVzVhPTgqsvf/1lQrAVdw1CLpWEu0CKg9U98A+0VV0pNwm/naCLSPBeV2K8HUh7RpKC00RRlz8YL6mKXFvwP9AC62vZCQPUuDdGxx/hkMW7UESGOyNvsMlJDWi0ggjGT2piHxzfZdQKJS2GKOcw9kL0aCbNoyOgfcUuh9gM3V9rH5VmKO1k3zDIyGEETCiYtz9BCQzh3PMHV8tOtnFXqbH20SlrbhSrrb5e5A3QKkaiUZb0E5rKNDeLreimdOdyb6oSKpSuQO00bZpFd4mXFQgnF71O/ZiEaxqkJYhzApJ/NDyDeWUjae/3nqP6ku/v8EmFIr7/bQog7uSBMQ+RxOTndRJcUqHxOEhGIPOLLvmkYWUAf4EkRnt2zWyZ3Hy9dG49jpzuowtOPM4u/A6YMbk5zWk1vWaGUahYd8zlDuKqI41AALNqfvHJfHVr6ggsMJFgMnZ6okEQF6ExZvDbf+JjfztVsWs18jgyLZerh2OR9PSyivvZJioGDfDToe30nW3+rJtS46Nvub8T0qFOpbSOYB8IMv6Z3bwg83ne7FaNi/fGZUfKNpfmJJIJKuXypEC1LD0d/krl3Hg4nStymLvtefMLV4nFCuk4/hfgfHyEHmjnZXWYOGPRoDl4+RRK3WDzhjxlLWagLaxWNbo6G2aaGiunovC1Ws465iBo0uK9J89PbNuVZcx8ryE X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: f61dfe0f-d382-418f-84fa-08d8c77926d0 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:43.1693 (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: 3VKpZfmHHGX49zq9kA+BrHNpuajBYNGy6XMHZQoC8MVNdpxB2nQTgeC3Fr0Evqm8jXqBuZipZ/xtGA5MNfsqUGbvVt14MASzEet6KPHknbg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3623 Received-SPF: pass client-ip=40.107.6.139; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" It's better to return status together with setting errp. It makes possible to avoid error propagation. While being here, put ERRP_GUARD() to fix error_prepend(errp, ...) usage inside qcow2_store_persistent_dirty_bitmaps() (see the comment above ERRP_GUARD() definition in include/qapi/error.h) Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Greg Kurz Reviewed-by: Alberto Garcia --- block/qcow2.h | 2 +- block/qcow2-bitmap.c | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/block/qcow2.h b/block/qcow2.h index d19c883206..0fe5f74ed3 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -984,7 +984,7 @@ bool qcow2_get_bitmap_info_list(BlockDriverState *bs, Qcow2BitmapInfoList **info_list, Error **errp); int qcow2_reopen_bitmaps_rw(BlockDriverState *bs, Error **errp); int qcow2_truncate_bitmaps_check(BlockDriverState *bs, Error **errp); -void qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs, +bool qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs, bool release_stored, Error **errp); int qcow2_reopen_bitmaps_ro(BlockDriverState *bs, Error **errp); bool qcow2_co_can_store_new_dirty_bitmap(BlockDriverState *bs, diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c index 8b28e4c576..e50da1ee7d 100644 --- a/block/qcow2-bitmap.c +++ b/block/qcow2-bitmap.c @@ -1529,9 +1529,10 @@ out: * readonly to begin with, and whether we opened directly or reopened to that * state shouldn't matter for the state we get afterward. */ -void qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs, +bool qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs, bool release_stored, Error **errp) { + ERRP_GUARD(); BdrvDirtyBitmap *bitmap; BDRVQcow2State *s = bs->opaque; uint32_t new_nb_bitmaps = s->nb_bitmaps; @@ -1551,7 +1552,7 @@ void qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs, bm_list = bitmap_list_load(bs, s->bitmap_directory_offset, s->bitmap_directory_size, errp); if (bm_list == NULL) { - return; + return false; } } @@ -1666,7 +1667,7 @@ success: } bitmap_list_free(bm_list); - return; + return true; fail: QSIMPLEQ_FOREACH(bm, bm_list, entry) { @@ -1684,16 +1685,14 @@ fail: } bitmap_list_free(bm_list); + return false; } int qcow2_reopen_bitmaps_ro(BlockDriverState *bs, Error **errp) { BdrvDirtyBitmap *bitmap; - Error *local_err = NULL; - qcow2_store_persistent_dirty_bitmaps(bs, false, &local_err); - if (local_err != NULL) { - error_propagate(errp, local_err); + if (!qcow2_store_persistent_dirty_bitmaps(bs, false, errp)) { return -EINVAL; } From patchwork Tue Feb 2 12:49:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061613 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 854D6C433E0 for ; Tue, 2 Feb 2021 13:11:11 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AD80564ECF for ; Tue, 2 Feb 2021 13:11:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AD80564ECF Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:59314 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vSX-0005Jl-MQ for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 08:11:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46962) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v91-0001gm-M0; Tue, 02 Feb 2021 07:50:59 -0500 Received: from mail-db8eur05on2120.outbound.protection.outlook.com ([40.107.20.120]:42944 helo=EUR05-DB8-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 1l6v8z-0001yT-Lz; Tue, 02 Feb 2021 07:50:59 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IU+IUp/pC23w/BZtBVfoowcfemW/XHIKKchRmPDR1WcKBphlUVAY545oDDu8F0KUhdgMmQTDqmYNs7XeAmw5Wb8XupNM6xBmFlRuE33y/JABTD6p78u7SP6b4hCg2FJ7sGJSxqmuDUqRQiS3bb1ocbcd/SEPUGvJomoRlouMlvKnUOdBJi+U6WA0X5e5MtaZNq2+0VKl7WRnr2BaDgApNh/10jNa7quHpR+kdl/MjqGWu7xRBtAU1YbFBiK5uSLzKXa3CcCWbeRrJCF5b1yVZ7QcThzT2RJuzDgtx66dkCIakcBWF2/pFw2L3zNfliziuSjPtxZnqr52wv3nonA50Q== 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=83GlCXkaxacMXgNIB425cxfYzkCiaetQsIeCxDT5l3w=; b=b5kYpfMBtKvsOnbst+su/pqKLsHWVDAeAK4+ZZ/u5zMnzL1XBE4W0ltJXtALMJrcXYtAt7eIbuETZIKFTT19OiN/zH0rwuM8CX1UrnqN3TscXzv+3XQrZWHmmnl9NcrBUgUDBDjgEaPrcJA33kZ02iwi7Kz0y0fqWOJ9y0K3A+8ZBw1yVL+idHbHJRjBLT4avDVfhqCMWixYK5b3TGQ8vFlq4kPu1nrtxoffjz/hJ8eXKzvcZvLlNh/zibHwCzPNLqIUwmjo7w1XJ8fEq1LzOBswZX58ROlKmnWgJKZ3oYyFdciHrC9qiPTF19sKjIVILpIXcfPnVzn7VZRK9hOOcg== 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=83GlCXkaxacMXgNIB425cxfYzkCiaetQsIeCxDT5l3w=; b=iMB2IPyVMBzKOYF556CBBDrhcWLZZ4iBUQsjrNiEUE9QtN0HjpKCrBAsEh5sJJTUjZWFmzP2R3leYyNYAH8PJu5E0nSA6DVvjyOFruRO34QgvSHcE+ED7Veknghf7MNHpsxp8oNI1Qn2hLujJ2lG8EWB+yhfPHDTwco4PUEMXLA= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3544.eurprd08.prod.outlook.com (2603:10a6:20b:4e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 12:50:44 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:44 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 11/14] block/qcow2: read_cache_sizes: return status value Date: Tue, 2 Feb 2021 15:49:53 +0300 Message-Id: <20210202124956.63146-12-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:43 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6f52ac95-8006-4391-7340-08d8c779278c X-MS-TrafficTypeDiagnostic: AM6PR08MB3544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3826; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mH2FtZE9WqvGW/i1nzunucidXlWPEnl0AfdOX4FJ/IDmtwzCJPUVpJUspmcoQFTRn0eUvCKSsmHA6D410CtnQS7vezwUn/eqWqEDFENv1pWWBapc0ryOMn43Yv4KSM6/NvPmKAdsfOo8lCuhc9gz+tARvfRyvC62l6fWw+618R+RHi4wlxYcZzQuKA48WirubFxE1cxndKnVmrrkek+X+9+bpoDGxlnqk43CErlSTJldk9/NdzhXXkAHMPDPh+/WAMsirJYyRoDUaVccXPiA1+OE2pakKcGHlf3Fo29jVoOInPW/2+UelVWRtpMjGasMPDCdks1M2WxnRfeAOxYkL57GUjWHdEmT86uWpRMnLoAusHj1pmEtLY1vtOiIKFHpoJb5K+d4CAnXn+HqO8F6JJaodv/XRSEDNccvZSTZyGWZEK2XA9ZLLujjY6eRlrzQsbfhQ6ljFWzOt2/9/mnoQMGWsxF4j0Ee2SCZfgXUYQXc/Q0KF3RpcocFZzRKwNS+3t9PH1wHIqRmOH5riJFjyA== 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)(396003)(346002)(39850400004)(136003)(366004)(376002)(478600001)(956004)(186003)(26005)(86362001)(4326008)(5660300002)(83380400001)(8936002)(6506007)(8676002)(66476007)(2906002)(6916009)(2616005)(1076003)(66946007)(66556008)(6666004)(316002)(36756003)(7416002)(52116002)(6486002)(16526019)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 2+t63xZAQox3Eb/Xqb5xFf3LkaOzapYgYX0ck/7TMVPCorlWuUixRvhz61Ar7r8Nutkaz19lV2dVMx6ERz2/z827DkSCOX7FAcg5yyVMF3y9ymlJ0VyBQ4YQ4CPXcRsy0dKo44oBtOmr6rV4as+/zc57I7Sg/KF56C8BzS0LxlSffFIoeGROZ+7+qy5uG6WzoIjGgKPSB9nekQg1UHlhjJHOdAnE1jFBS3rkrNgpk3eDn/xqbtXJaef6iBWz/NtOE5d2vOVPCleoqO+jl0VO/yGyLibG9hynjGDXh+9z4ETmcfIM4HSL/+wNuU7LeESPU3sc9Y57u5ObAZ7RU9BoDBOSvIaC83CFvSLfY/ZTyGCYLE4HVaASc4knuP1MZAYxOl85STQE58PCv2g64J5RJFu50e/+zA8QZizmpfDTBUEFvfuvcybp9/lWeXKh/5o5Sdh0ASM8mYeUY3vZbYKQk3ZnKevG+9ZoAWD6K6VnX+QrgCUTHcUe4l7qf8LKl6RGh66A7sK57MeQ+Ph66nqaRGlORrHfT1qDzReChZ+yCky28VCV0LS7ofua16hHzWYHTr9nde/5lyFaV8VihlTPs4tVSpHL6m0xABXlLWCnGGCD4zOaonK+FGOTbqHHAZIbZB6fXRIgDTeJ/ZfHLTuU5Q7xTs59pnNOqbiHBHsALT6YcJSYkqYL+5YwV4rXsRz07vJjl4DILAJUgl4/2c4KTAA+HZDOOTTmaUrAOhiUaTc4bolH4ssmWqk8mUHJ9tMsj6j/bVOzBii3cj6YtmV6ChCMyCWMsc0NrvHUYBOvUtFGrJ4jqzP8uQc9/FY9aSEfjO/uv5LvEBNCocjlSJuen/J66b2cuI1Kpw61Jlvhv3HohjESZWhlGv6a3xslI8F0zDJ19yDEIJOFJJTJ9fQ4ooXyZ4EhCOrUxz2HkHmqEigqDIZt1Bt4nNsTmgEstZB0WkEgiFKbp8fV05wESJbs/Ch1DPi/0T3Oi73R5zr/E8w5zwyEfL+IoTeb+8kZakcL3WckmYNHbcVbJiDnaapEDgV1yQdk1Xnm/oY1ERnrNSZ6RK11X+3CIJq3aPQ/7uAI X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f52ac95-8006-4391-7340-08d8c779278c X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:44.3014 (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: dkYxhCG/CRZbd7171h+r5gM6Xa2DpDm/tqNDgj1B2cQh2x8IS2SXtDbzfFrzvcjWdEh86Az8/EfVkVVpUEzc5+0W+hMbKl258PG1dT3HHQw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3544 Received-SPF: pass client-ip=40.107.20.120; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" It's better to return status together with setting errp. It allows to reduce error propagation. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Greg Kurz Reviewed-by: Alberto Garcia --- block/qcow2.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 20d67bd9c7..2e0e050997 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -868,7 +868,7 @@ static void qcow2_attach_aio_context(BlockDriverState *bs, cache_clean_timer_init(bs, new_context); } -static void read_cache_sizes(BlockDriverState *bs, QemuOpts *opts, +static bool read_cache_sizes(BlockDriverState *bs, QemuOpts *opts, uint64_t *l2_cache_size, uint64_t *l2_cache_entry_size, uint64_t *refcount_cache_size, Error **errp) @@ -906,16 +906,16 @@ static void read_cache_sizes(BlockDriverState *bs, QemuOpts *opts, error_setg(errp, QCOW2_OPT_CACHE_SIZE ", " QCOW2_OPT_L2_CACHE_SIZE " and " QCOW2_OPT_REFCOUNT_CACHE_SIZE " may not be set " "at the same time"); - return; + return false; } else if (l2_cache_size_set && (l2_cache_max_setting > combined_cache_size)) { error_setg(errp, QCOW2_OPT_L2_CACHE_SIZE " may not exceed " QCOW2_OPT_CACHE_SIZE); - return; + return false; } else if (*refcount_cache_size > combined_cache_size) { error_setg(errp, QCOW2_OPT_REFCOUNT_CACHE_SIZE " may not exceed " QCOW2_OPT_CACHE_SIZE); - return; + return false; } if (l2_cache_size_set) { @@ -954,8 +954,10 @@ static void read_cache_sizes(BlockDriverState *bs, QemuOpts *opts, error_setg(errp, "L2 cache entry size must be a power of two " "between %d and the cluster size (%d)", 1 << MIN_CLUSTER_BITS, s->cluster_size); - return; + return false; } + + return true; } typedef struct Qcow2ReopenState { @@ -982,7 +984,6 @@ static int qcow2_update_options_prepare(BlockDriverState *bs, int i; const char *encryptfmt; QDict *encryptopts = NULL; - Error *local_err = NULL; int ret; qdict_extract_subqdict(options, &encryptopts, "encrypt."); @@ -995,10 +996,8 @@ static int qcow2_update_options_prepare(BlockDriverState *bs, } /* get L2 table/refcount block cache size from command line options */ - read_cache_sizes(bs, opts, &l2_cache_size, &l2_cache_entry_size, - &refcount_cache_size, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!read_cache_sizes(bs, opts, &l2_cache_size, &l2_cache_entry_size, + &refcount_cache_size, errp)) { ret = -EINVAL; goto fail; } From patchwork Tue Feb 2 12:49:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061587 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6670C433DB for ; Tue, 2 Feb 2021 12:57:08 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2EB5C64F45 for ; Tue, 2 Feb 2021 12:57:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2EB5C64F45 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34904 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vEx-0002eB-8B for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:57:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46974) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v94-0001mx-38; Tue, 02 Feb 2021 07:51:02 -0500 Received: from mail-db8eur05on2120.outbound.protection.outlook.com ([40.107.20.120]:42944 helo=EUR05-DB8-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 1l6v92-0001yT-BJ; Tue, 02 Feb 2021 07:51:01 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EnOmo1meEK/flP5fC3NQVv4ngqVItwY0sS8mF1EZKeLZD+lkQCTVKB1DHWhrQEyMtPWJNPzDjZbox84hoO7EvzP1vprBqkJyJ+AxpmHTvFVTQQQOuQmvIftRxA4SyddLzj/6HblcNM51O/BWbWPCMwyZ9Jn/+Gt0vW0eXBmfWLjoFcwL9qzESd+Ec0FwXj//uKT4JW4OuFUFQka/TvWt1K9cONZccmDVGpyn9Kxk/cNwiAXDOxZB0qc6ElkTeBSeEGaKCzq7eKoEeukkWgHOull31H/zqHz7S842IuqTvVEjKuuA+4RdptSMDY942hiiqnBdmcpuDNNnyThv2X6BEQ== 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=+FU1664aVX+pnGTs5I3ebsQYqWxMt5W4q4y1UON+dME=; b=Pu9MIjzCWCbVbZVkygQtev2IZcecRT9HrClsihI9jQ541DeqRhN2bKDjLSA8Nvd/wWoTaHxLHLm2PCKf1NFpkVZhWiZmrVnpBn0b7+QDkEEiCQzKZcaNLFZh5hYmGMxq2SCxw1sNDV51Ox5fJAV1u7SH+4m/sekJVo3Gqao0qijPIPUe6m079uv2ys/e/k3ayyG2MTrMLu6d+vxyptgdBmHaYoZs2lzbC2cU41yw5slhDsnHkLBLLKM9f93NzKQ9SeylppHzGYiJbbu6fwCgFmp0k12NMbpaTyeeWQ/0it7UhWDxRVoGJO4fgdXpHBUwavkOi2lelW53cvyljm3AlQ== 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=+FU1664aVX+pnGTs5I3ebsQYqWxMt5W4q4y1UON+dME=; b=m4GU99Lu+hAVmb9D+nVc8Duaqc9VxRMoyTVJEfowfUOg1nl73Xp/7hpJ7wr9MDFfmdMh1H3xQ4Nf1zKkASsQ676rXs0TxnK0BBEtLANCMGfFP0fHf1fy6MgLJTBLAXYrq6Qbg6xzBPm1Ml+3KG4eFpe7SI1paR20qjp+vSWvBUg= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3544.eurprd08.prod.outlook.com (2603:10a6:20b:4e::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 12:50:45 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:45 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 12/14] block/qcow2: simplify qcow2_co_invalidate_cache() Date: Tue, 2 Feb 2021 15:49:54 +0300 Message-Id: <20210202124956.63146-13-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:44 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cd267e3a-4112-45ea-33a3-08d8c779283e X-MS-TrafficTypeDiagnostic: AM6PR08MB3544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:862; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dXZI6q2Wohtcm1nORwkF1GKJ0QcSpbpdlsK5csiWSFgEYhUPb5nS7mj3gw/fVu4dzqV23GSo3YqHoryGBGm2z8eQvkXtrR4p428l4zyIoSllpKzkR5RlhzTSpEjfeyID0PYO9fVnS6zalUxXYVm1W5MX7sVq5LTIYXFGnaIxP0ZFmcBFo5cht2QSW4u8qYn6mhiCIqpieA59F8QqHwIo6sGRdiSzBgJdaUSv0OTEzObQR7zfsXS9jXnCKYd6CA+Xisquc9IkZBlWdENRr22wjlONijqPuOTDeILzoNiXhX9o5tf0pNtxitz++Lx00aoNCZ1BBtml8SAF2gEKezerfKGoI9rI40DyCbVBlbD9rg8eKF2K8fnfMl2AuBHK1Auy52QetLI8P/7c3wMMo6OpOCVuVZGULXWVJDUcmVKQmS7k7GriWw1KKLaREyycfsPjWjn0uG1nWCD6Xop3gnLyOC1eBam1AvGJhNy/qoABYqjK87sTbdyVSasEObrG99w+hhmU9DI53z9vqdpnbSpRJg== 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)(396003)(346002)(39850400004)(136003)(366004)(376002)(478600001)(956004)(186003)(26005)(86362001)(4326008)(5660300002)(83380400001)(8936002)(6506007)(8676002)(66476007)(2906002)(6916009)(2616005)(1076003)(66946007)(66556008)(6666004)(316002)(36756003)(7416002)(52116002)(6486002)(16526019)(6512007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 7kRidK3jow4BUsI/MCtZxknB4D3GKTO3RjLPo8O5EI6ypuktUUdV9I8vkakUHLExsJNrH4OF9ptWTykNage2naGSIphMCKYTqMDxFIFn/ytRASob/HVf6adRL7fEY9i3y12yg7iLRbpQMmdSyHG/Imkg5yMYpzyCqQq2n7kZLDrDEw16Y1wHnJh7lmyFprVhXcWy4f0HZdlJVyyB7820MrC72ZkvUKnmF2ivS9U8SXQklOVufdVSsgQG2oF7AiFNlalF//2Cp32BPg7cc5kySeGHDU7ZtTM2bSMKxV5hMFZ0fuy4U937S8FjDUaBWag0ZSTDQ2TJh2pGFztucMxihlaySGIaZUJhECD8ejL2HmeYvNxNs6XxibrpAhr5mMHrJYkGtbBy/4gCNTQeoTcsFo7tDpcOuyjpyqZpjMfHa/etud7VcL/sPncVXq7k9lfOFXenFlreiz5vJYHD4+Fe723knHfoeWyGEbFwArT/9vnvq6KURrQPAgCxDFNoiDHzAfstAvycIFvbzR8dDk39sMFX7M5u/8M51SKzEpekSP4man7a6uDqvxbnggdaTtv5UEcJV3k6ak6iIlrz3SPF/ZPb073eqia/7VT4G1/KBHMZVP1HxVH57H/L7SWMEzoE8HmQDkOIn1O2RB9flGJ+KkvS8naknlRgxjJ2dhgKebGsB1GTT3BC0Rx83gQAFS5tR0zmQ8F3esX+UoLiz7TfJs7jYSBrzw01NX4avKXjwiKLIgo3DsAF3OVNFV1tYUJwuziRfI656dzbtbMTsAW2E4Y5879ZVgS9DsW/qLsPBKZasPu6hJP/gdHVvvUWAqeA+YvqbuTX8+dAyppwNI71F4HRIB1Z8QZjt4WONOAbLi7wWEV6y3VSnWHuCj2V53tya31RkMsiL9PiNHUPZZHDtAnWmgdZNDC473GP/EZu1e4iFOTCIymwazQV4q1QT+MD/g2fnoyT3K//ck/lT1iU4geurFG2f8NmH5GPR0XXy5ZrW2gbytYdhy+g/b3r0RdnsVTXwcwzZJBE+jHeJDmCBaFJLgQFWKvD/yPA/YJYQmk/Mrr6+foVcGTjp5bxbhiz X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd267e3a-4112-45ea-33a3-08d8c779283e X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:45.4354 (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: KRP+HBZu2BvW7BHwAEkSW1NhDIGCv1FvHjWt2gyvyf0VxfGWBe+SU6SQSA2weZi76CYKD2PJwJPKriyIe8uYVe91E/56KTr1k4l4K0fNwNc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3544 Received-SPF: pass client-ip=40.107.20.120; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" qcow2_do_open correctly sets errp on each failure path. So, we can simplify code in qcow2_co_invalidate_cache() and drop explicit error propagation. Add ERRP_GUARD() as mandated by the documentation in include/qapi/error.h so that error_prepend() is actually called even if errp is &error_fatal. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia Reviewed-by: Greg Kurz --- block/qcow2.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 2e0e050997..436bcf0a97 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -2715,11 +2715,11 @@ static void qcow2_close(BlockDriverState *bs) static void coroutine_fn qcow2_co_invalidate_cache(BlockDriverState *bs, Error **errp) { + ERRP_GUARD(); BDRVQcow2State *s = bs->opaque; int flags = s->flags; QCryptoBlock *crypto = NULL; QDict *options; - Error *local_err = NULL; int ret; /* @@ -2737,16 +2737,11 @@ static void coroutine_fn qcow2_co_invalidate_cache(BlockDriverState *bs, flags &= ~BDRV_O_INACTIVE; qemu_co_mutex_lock(&s->lock); - ret = qcow2_do_open(bs, options, flags, &local_err); + ret = qcow2_do_open(bs, options, flags, errp); qemu_co_mutex_unlock(&s->lock); qobject_unref(options); - if (local_err) { - error_propagate_prepend(errp, local_err, - "Could not reopen qcow2 layer: "); - bs->drv = NULL; - return; - } else if (ret < 0) { - error_setg_errno(errp, -ret, "Could not reopen qcow2 layer"); + if (ret < 0) { + error_prepend(errp, "Could not reopen qcow2 layer: "); bs->drv = NULL; return; } From patchwork Tue Feb 2 12:49:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061589 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A90DFC433E0 for ; Tue, 2 Feb 2021 12:57:10 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EE29364E40 for ; Tue, 2 Feb 2021 12:57:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EE29364E40 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34952 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vEz-0002fI-0W for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 07:57:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46914) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v8y-0001WG-03; Tue, 02 Feb 2021 07:50:56 -0500 Received: from mail-eopbgr60133.outbound.protection.outlook.com ([40.107.6.133]:57568 helo=EUR04-DB3-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 1l6v8u-00022r-Rd; Tue, 02 Feb 2021 07:50:55 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jgcMUsW5HXjEG9h9Xltnq5gXL8idXhWz6yf9EYwckCM0XijG8CfN7sTwhsjcn65STY5ff2Q3X7vu8bEB+cDP/zm1/ZCg1HQL4m2f54pQpCPkqIWxI1ARoe4MuW2gQv47B3DvhbVkmAGcmvwKCtRhyDu/65jI00umNGRwWvAN9EBDxiLZXJuDW8Gvgrh+q5ZTuP+tiFEprfNpkFq/l/NT+u0gC9RInp3EBFSSMpkTZ9BmEdNquDzXpy0JED+kCUNKMgjAPCnRoqluLzsLJsxa/T9xlShWKxynlrYQZIdPoV7+ThugBqTplsoOTcsDuiTU6Tg/pd6nY0eOee9CFpb/og== 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=k+xzsmZcPlMdMXmrJb9brCQ9omaWf0j/VELf2b5FLE8=; b=RR+ZXOXkjG9+UYilk4f5cySeulFemSKvspLb0WeJb995ovzud8OBJwiYNTgvgyw27upepoXS01PlK1nWvsqUJV/BpOjtQq9uQWgnEZHw7alj/TBsEmeFJxynf+WXJGq7DBm5gecuCFR/VrwYqfLapzBeD/B3Dcon3S5DnIFQ0F9f0waEUC6oYKkbCEqf58EbegzO0yHAJlZQVKg1/o9Kyi9+W079xZegAIG4HA61BjQH+BYW2sfal5FeXAqkTWSEaEPuAQi+o8/TMEdJA/eX4uM5m9n2ygRohYZFVgc9RcnURld1Fy5wm45WoMeZhnA5o/Zkthmjdj4I49jyBJxexA== 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=k+xzsmZcPlMdMXmrJb9brCQ9omaWf0j/VELf2b5FLE8=; b=clDSKu3nSVB8YwLMIKtBPPHcfEqAdhDvY7qeJef8PYMnZevYpfVBwCQdQvL/FZopI3qccChBMLC7ss7t+Va4irBro6C7fgwRgSVsMTH50pF9atPGuRED0QeZboyeS1SMemxK7gBj1DNZk2WGXTnfv7AtmpAsMDcjtyCbSKZhUSU= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3623.eurprd08.prod.outlook.com (2603:10a6:20b:48::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Tue, 2 Feb 2021 12:50:46 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:46 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 13/14] block/qed: bdrv_qed_do_open: deal with errp Date: Tue, 2 Feb 2021 15:49:55 +0300 Message-Id: <20210202124956.63146-14-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:45 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6d111141-ab4a-445c-27b2-08d8c77928ec X-MS-TrafficTypeDiagnostic: AM6PR08MB3623: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:826; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JYR7slKf2kdRUspD+Un9j4u2Cvo4SCpwLJXZhE+9SpmuBmz1M2OYKLy+Gya2pgZBhbzP2Ek1zFvygTj8hXqhOEzo3lge7kovHGJVNomuFJZt0VlI40JcZMZn58RE8jVOYpn3yYfasRVqMJtufdCEOup9bx8/kWyJWm8XVETT3x65I6TnHEwv/tAg1WDeuN8zgwKaggDH4xP1oTht2wS+kevXofqioiXe/l+gwc+bKmfRl7arW7KIkkKfJY5fjp/PQHngjjjJfFFUziFeP/PcXxKtMIbFQgAssggaOko+4nZTd+6NkJbtNHmb5T7ScG1Pl6M+I2Yb48nDOdkJiB971B8daEyeBjV8cvR8s8ZYUx2hKhbZfJM604mQ24iyp9DO5fvQjLb/tLmSOGhLOg2Y3LJhUxDyXv+vv7M3mbXEL0e+nfK2hgvS/ZVOncJYj2oSLMxZ6QTUhuGrpF/nu+ZkznTxUZRc9LD6gJ1o2FQImBKcVovTGUuoPIWq2NVVG8ixMaVIbukB71HDzJZu1Kf7VQ== 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)(366004)(346002)(39850400004)(376002)(396003)(136003)(2906002)(5660300002)(66476007)(316002)(66946007)(52116002)(6512007)(66556008)(36756003)(8936002)(6486002)(86362001)(7416002)(26005)(1076003)(83380400001)(186003)(4326008)(16526019)(6916009)(478600001)(2616005)(956004)(8676002)(6506007)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: IZSs+fH0GnY6mTCjC8GkBjQ3BJPNW4FjRKvZfMfOmQhYhU6H+7Hwx3QsFb7hOpLf2vrH3JUbvtUM3WVg2j0BbDzPspUEOowPoTc7IkT1owj/dTIDd73vy+24952QwXhD2WQ3QPXsAVpAd5PqfF0wcX/ntcjEL9Ua7iLCyI4CR4C3TRctNmCXXZpUa3KY1zpYaLa+Z9/qwB8j0zBquk7mTMu8d7aLDBnx3vOQoH57qRBwJEowo8GhpKeG1m3s0GEGa6XPuQUg3FMTB66ujooLBl4IixKIe4WSIbBLYN4TpbJrScx7icyL2tPmvyZXfEYPzcuikQYT1ts1YV+hL8ANRDfSPLU8KxHXBoMMFP4y9DOoXt1UqHCFVNBQnufVzjR/bCH9pDsPhrE6p556OSlx5/zB5Y4Fo0JPmt3+5pMRh+cb/7mD5ttCcGdhteW0GAHRfycC5P6sEZHVisBvH7+6wDn5b6sFdoLSAaJ5qxcMX7WgaEgqJbuFvV0vLkR06kykIpQoI1KCVd4WlzgCSVdxXoOK0TJHsHzyoG28xpqDqQc9PjLioWgTZY5TeTIMUTJF4Rfy8di4iLZbDEitCCfvSEQxGbggwSzU+xy5WQ+4md2xN4f5T8MHnyTVr3FUu3wlW1poq2lPMhtTgPAs7NQ3pgi7FcX5z2wj+xFPS0xUuLJge+Dypqqo3FMNUSwv4wgi5UuYDjDW67MLUL26hWeZGBjlzxBb9L1DUbAwPwjW8ZCTeaVrJm3oXzTdEFvnqe8wZ5lio6f04WazeXXBiLE+uXHDOL+L42gol6+OzysRGdFQJHkIC/3lyZy4ipueoH1jtNZKMy//tpAyYWEdeVBEyvOXtWpNu2B5DgWyl/2+bFFzCh1A+zQlJwL+KONPbx0+meY9Jw7nD2fGzJ5x5ZcG0vFpfMY8ueOrAJudD3e799yS9tmsSfLy+fSI9f8wxPcmsA1ZuFLbRQiPvyUCeh5R3apCTDgRXaxYqp6QCaYoSSIPBPymmT1B02Yd3mnpvqKILX2C5/ygeRTPV5mddhUj8IrvT7I06Q4BtilDr9lnZwt+0gsy3pH1P2cdKQrllRZg X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d111141-ab4a-445c-27b2-08d8c77928ec X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:46.6013 (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: rllR2TP5B7HfZ8m+xggZUONSm16GAYmVxmFM96YEm+wHE89VcfwT2SLXkZi0XM06ovfB9BCHyiMtmf/rZbT1z+1fMyegNgAuCmW5J9icyss= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3623 Received-SPF: pass client-ip=40.107.6.133; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, Greg Kurz , stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Set errp always on failure. Generic bdrv_open_driver supports driver functions which can return negative value and forget to set errp. That's a strange thing.. Let's improve bdrv_qed_do_open to not behave this way. This allows to simplify code in bdrv_qed_co_invalidate_cache(). Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia Reviewed-by: Greg Kurz --- block/qed.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/block/qed.c b/block/qed.c index b27e7546ca..f45c640513 100644 --- a/block/qed.c +++ b/block/qed.c @@ -393,6 +393,7 @@ static int coroutine_fn bdrv_qed_do_open(BlockDriverState *bs, QDict *options, ret = bdrv_pread(bs->file, 0, &le_header, sizeof(le_header)); if (ret < 0) { + error_setg(errp, "Failed to read QED header"); return ret; } qed_header_le_to_cpu(&le_header, &s->header); @@ -408,25 +409,30 @@ static int coroutine_fn bdrv_qed_do_open(BlockDriverState *bs, QDict *options, return -ENOTSUP; } if (!qed_is_cluster_size_valid(s->header.cluster_size)) { + error_setg(errp, "QED cluster size is invalid"); return -EINVAL; } /* Round down file size to the last cluster */ file_size = bdrv_getlength(bs->file->bs); if (file_size < 0) { + error_setg(errp, "Failed to get file length"); return file_size; } s->file_size = qed_start_of_cluster(s, file_size); if (!qed_is_table_size_valid(s->header.table_size)) { + error_setg(errp, "QED table size is invalid"); return -EINVAL; } if (!qed_is_image_size_valid(s->header.image_size, s->header.cluster_size, s->header.table_size)) { + error_setg(errp, "QED image size is invalid"); return -EINVAL; } if (!qed_check_table_offset(s, s->header.l1_table_offset)) { + error_setg(errp, "QED table offset is invalid"); return -EINVAL; } @@ -438,6 +444,7 @@ static int coroutine_fn bdrv_qed_do_open(BlockDriverState *bs, QDict *options, /* Header size calculation must not overflow uint32_t */ if (s->header.header_size > UINT32_MAX / s->header.cluster_size) { + error_setg(errp, "QED header size is too large"); return -EINVAL; } @@ -445,6 +452,7 @@ static int coroutine_fn bdrv_qed_do_open(BlockDriverState *bs, QDict *options, if ((uint64_t)s->header.backing_filename_offset + s->header.backing_filename_size > s->header.cluster_size * s->header.header_size) { + error_setg(errp, "QED backing filename offset is invalid"); return -EINVAL; } @@ -453,6 +461,7 @@ static int coroutine_fn bdrv_qed_do_open(BlockDriverState *bs, QDict *options, bs->auto_backing_file, sizeof(bs->auto_backing_file)); if (ret < 0) { + error_setg(errp, "Failed to read backing filename"); return ret; } pstrcpy(bs->backing_file, sizeof(bs->backing_file), @@ -475,6 +484,7 @@ static int coroutine_fn bdrv_qed_do_open(BlockDriverState *bs, QDict *options, ret = qed_write_header_sync(s); if (ret) { + error_setg(errp, "Failed to update header"); return ret; } @@ -487,6 +497,7 @@ static int coroutine_fn bdrv_qed_do_open(BlockDriverState *bs, QDict *options, ret = qed_read_l1_table_sync(s); if (ret) { + error_setg(errp, "Failed to read L1 table"); goto out; } @@ -503,6 +514,7 @@ static int coroutine_fn bdrv_qed_do_open(BlockDriverState *bs, QDict *options, ret = qed_check(s, &result, true); if (ret) { + error_setg(errp, "Image corrupted"); goto out; } } @@ -1537,22 +1549,16 @@ static void coroutine_fn bdrv_qed_co_invalidate_cache(BlockDriverState *bs, Error **errp) { BDRVQEDState *s = bs->opaque; - Error *local_err = NULL; int ret; bdrv_qed_close(bs); bdrv_qed_init_state(bs); qemu_co_mutex_lock(&s->table_lock); - ret = bdrv_qed_do_open(bs, NULL, bs->open_flags, &local_err); + ret = bdrv_qed_do_open(bs, NULL, bs->open_flags, errp); qemu_co_mutex_unlock(&s->table_lock); - if (local_err) { - error_propagate_prepend(errp, local_err, - "Could not reopen qed layer: "); - return; - } else if (ret < 0) { - error_setg_errno(errp, -ret, "Could not reopen qed layer"); - return; + if (ret < 0) { + error_prepend(errp, "Could not reopen qed layer: "); } } From patchwork Tue Feb 2 12:49:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12061611 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7B92C433DB for ; Tue, 2 Feb 2021 13:07:15 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 59FCA64EAC for ; Tue, 2 Feb 2021 13:07:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 59FCA64EAC Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:53982 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l6vOk-0002uw-5P for qemu-devel@archiver.kernel.org; Tue, 02 Feb 2021 08:07:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46956) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l6v90-0001dy-MO; Tue, 02 Feb 2021 07:50:58 -0500 Received: from mail-eopbgr60133.outbound.protection.outlook.com ([40.107.6.133]:57568 helo=EUR04-DB3-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 1l6v8y-00022r-PE; Tue, 02 Feb 2021 07:50:58 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=io/fnaF6JHK9zGiJcRP0JxNrS6jfVyTHMYD9ZgkOT98dXg/AzaytH89U6rje7RvSHPQ1+nVZWiYbyxo44pNLMNS3wlsCH+/W7wDlit0kl29UhHBQKc2wWFANfVXwrVl4U+QxTH1dFi4/4aKZpT7ITmvVyVkfhz5Fp2Xrb+9Ti5Y3swlfK3U0s+/ocR+jlAASNT7Zj5XM4qz6QauKTvNgcJtE8fzm1TIvuQu9jqBL3I20lFfspAKJe7D1NRFcP8Z8dUdmqheeYWBnNI2ndklGSSCNNJMKsUEl+qZg4zjLQHNPrAL5yjehReNa7ZhYLemAEv7i7D7B4tJ7hawrV6DvSw== 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=5lt+3wuX2e86j2Pnvr5qrDfn07c0EWNcNHtEUNru6QU=; b=Ybz2c9aAd6/1sYdZJHLVkX0Y7503DMitLyBlC85EL90V94rROYoZviM2kfQRBsKptDKLSdIrLN1GBI9FsK25A9Bd7beYaequ5XLVSFvI51WaLkkF/jfzoKcRUCQ5sNZhOgrYehhtMx3mqgXmlYHIrKEp9gphYo5doRKxokvE9LJ1KCP2ZBZFaOWkWVDR8nlXKA2a2m7Q6U7hP3I74VVX3FFINusApdlEJ0so5ACvw8u4Dl3a/dHJsF8dA0X32nRz5YM1EDNqZ6EvzjZ9s0dvOpYPHQ4jmiaHZ/t2cnfjk/yB+cmZRmbG/32WQtnvqugbhM6WpCTBCf2VVUBPkCpEyQ== 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=5lt+3wuX2e86j2Pnvr5qrDfn07c0EWNcNHtEUNru6QU=; b=i/v0Q0SWoL+JI/YpM++dsMhd5jNiv0UBkBC5d369nnraku6ziMZvWVmB0353KpLPtyytSHmBO4XY4Lms7sBToHM2qYckag4q7kqGf0iXyrt4XgblGjcL+TEPhJa3q7Nbfh8T86BxuLhEr+S8VdHMEy+/rAvps7X9dkcVPqZ38oM= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3623.eurprd08.prod.outlook.com (2603:10a6:20b:48::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Tue, 2 Feb 2021 12:50:48 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Tue, 2 Feb 2021 12:50:47 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v7 14/14] block/qcow2: refactor qcow2_update_options_prepare error paths Date: Tue, 2 Feb 2021 15:49:56 +0300 Message-Id: <20210202124956.63146-15-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210202124956.63146-1-vsementsov@virtuozzo.com> References: <20210202124956.63146-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.137] X-ClientProxiedBy: AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.137) by AM0PR02CA0002.eurprd02.prod.outlook.com (2603:10a6:208:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Tue, 2 Feb 2021 12:50:46 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 140dc376-7e9b-4224-c425-08d8c7792996 X-MS-TrafficTypeDiagnostic: AM6PR08MB3623: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:92; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hmiKRuSC5+U7fNBHIoogGnsZk0aj6mrINQmciQEV2Ebu4hpLgxqLobKqLgE0ztuRZbBJ+/DOBFywjA+blUtHASd6bACZzm7rFk520VrFUtBinYPmaU5apnFb6g6AuvKToch9P4Lp6wRNotfXa+duHjX1CkJ4IBApkoMn4xQvDRTZSKs5eSWd9B4HVLSI3Klvtjpz33Qoqspic8Z3q7mLWQkcDK7/vJaQPPy6DkOuALOsoNXce4HlONf1Bx6x8WNKorZ5ChtAgR+PjPSPp2ep+1p/UDvH/qCl/XQ1BHldlvmz1//4Gb9aiwh/Bw0P1rPn+qYtPripZPIkxHz93pb9ZBlAuigBQwy72jbNjOUt7bdXqbOdRcZbJLsJ1w6P8oVOgjBNSkOHJ5jMcFKcG5MjHuuHxhDi3Sq0bn/3Yub0P7x0CByXi7EzNIbYzy9bU3FdvURdIdXJbfvRpHfXe3jUDTNlPhJWE5L1lqbWOYdV+2H5zipAQ/dl/zoIS1FF6uTcIm/EyNMs5xNQDznkSKOAXQ== 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)(366004)(346002)(39850400004)(376002)(396003)(136003)(2906002)(5660300002)(66476007)(316002)(66946007)(52116002)(6512007)(66556008)(36756003)(8936002)(6486002)(86362001)(7416002)(26005)(1076003)(83380400001)(186003)(4326008)(16526019)(6916009)(478600001)(2616005)(956004)(8676002)(6506007)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: SciJhnn9yD94Gt2FdQ0acu55c1aOGnExUHpJ8dbSLOUCe3P7wwDOAKTqkEg+T+I1YI7Gb9vmmBgnl9CaEsmN1x0gGenHYIKvMfZp4KEtczRiUNttXJ8VMn5hHQO+Dx2XZTKz5LwamBoWRokf24FaNhgNNNYB9RDzfuPzQS62WsczShxHKf9x8T5C6jXKFT9oT3wn9AkwCt9tFwtOKMbv1H7HDg8kRoHwgxbtVhh1D1TCUXteO3s7JCRsmEmk8Hd6jtowf/SzG9Vy7e64Wb6YAnlrhIFIuXrWoTphV6CrqdYyPxnSHFN5mY3bx4ajDe4ChET0UJfZybuO5UT058O8Mvr80HqMo21PaTPefZG7kEUIKOw2pzoTpdmhcJVfiSfPInlJ0eXA1mXQspwFmlKWDwlMOuHN1Q4m8EcfVPI0xOZ1wKAi1w5lUJui4Y6vdRMMH7y6H5WQD1hrWhHqzkZQ83l5pPcwu97/jvX1p7qg/oVIOcLxILBIxcBLNMjjg7EZIuZbAbeNDizYziPQ1NMMyhRfPcLT+QyqcNmWcZF30fISx3S2IizOYGa8Py9MZldrZxYmctJDyMi23agclKWVMejez5uJcggqNAebc40XqmRLqwPEm738fftmTHPLlZWpiL5N6LMwyHpqkx0Xy1rmPjheTDXnpg+qegQPftP1sGloyH7/aGL1DkdpQeJK5l/Y1o2AI9GGwM4jRecCVed3OJMfur46fmIoiPZWBkRclc1UR2kYmzbYjGD/c13d6MJvmNpmklSAbDdlTWSpHkeWXpe/Wlv5uz3c7xOKK862Xvxhr3Ka1gdoqTIMulbX3ecqwH1Xbtszz2m5/XVw8kupwmcfS14FIvSR+wYNuqOA6+obPNfnu4nApkZFKK3YMG3TvaLiisFKfhRQUfsKVC/haw2xDCqTycghArHMGf9kMnYDaXFpkLgn5c7jxC0AeW52RCbW+BsnanTay9P8Tci9Xl9ABqUU9Pr4gsRLnE2M0Vl4uSaIIVZi+rMlKYYnIURIvdBqty5Q7p32KIJq5Ixm8O/LaxyHxcIi5dPrabMfs/0dDr5C4sF09VKi7hezmMwx X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 140dc376-7e9b-4224-c425-08d8c7792996 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2021 12:50:47.7971 (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: kzCJH1hYMDv+nKR4EVHFPNBtBck1oQ3daBo27NuMS/qDOGqXGrzY5+uM1FfHxyMopMZF8gJgXx9hNRunhZLTP99uWVO9954AeTMkPnTcoek= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3623 Received-SPF: pass client-ip=40.107.6.133; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com, pavel.dovgaluk@ispras.ru, qemu-devel@nongnu.org, armbru@redhat.com, stefanha@redhat.com, pbonzini@redhat.com, mreitz@redhat.com, jsnow@redhat.com, ari@tuxera.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Keep setting ret close to setting errp and don't merge different error paths into one. This way it's more obvious that we don't return error without setting errp. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- block/qcow2.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 436bcf0a97..0aa6ae1e1f 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1158,6 +1158,10 @@ static int qcow2_update_options_prepare(BlockDriverState *bs, } qdict_put_str(encryptopts, "format", "qcow"); r->crypto_opts = block_crypto_open_opts_init(encryptopts, errp); + if (!r->crypto_opts) { + ret = -EINVAL; + goto fail; + } break; case QCOW_CRYPT_LUKS: @@ -1170,14 +1174,15 @@ static int qcow2_update_options_prepare(BlockDriverState *bs, } qdict_put_str(encryptopts, "format", "luks"); r->crypto_opts = block_crypto_open_opts_init(encryptopts, errp); + if (!r->crypto_opts) { + ret = -EINVAL; + goto fail; + } break; default: error_setg(errp, "Unsupported encryption method %d", s->crypt_method_header); - break; - } - if (s->crypt_method_header != QCOW_CRYPT_NONE && !r->crypto_opts) { ret = -EINVAL; goto fail; }