From patchwork Sat Jan 9 12:57:58 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: 12008245 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 DD567C433E0 for ; Sat, 9 Jan 2021 13:01:26 +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 21D24239E4 for ; Sat, 9 Jan 2021 13:01:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 21D24239E4 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]:46850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDrw-0007xg-Np for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:01:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55312) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpW-0006A7-AO; Sat, 09 Jan 2021 07:58:54 -0500 Received: from mail-am6eur05on2129.outbound.protection.outlook.com ([40.107.22.129]:46432 helo=EUR05-AM6-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 1kyDpS-0003fN-2l; Sat, 09 Jan 2021 07:58:54 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IiCY+HrPcoDlp04/pUlqxM/7jng2xf5kpUXbN979N+7+8zd7kHq7jNeZdSuIkyMTBnSQiJpuMYH1VOAovm/cYigDo6obQFhPaG3H9k4Ogc98/lRyOG3osePWpc9WvV6mtVItC2WI3Hyr/gSCjy+OXNTrOUQUcfnbTA2rB9MJWqKd8FiggMVjM2N2GI8ufXBxLC+/NmvWmiM+VL3sXJdQ31I0407KsflcpthJy0oXI6y5ZYYhGJl8/pZRcNYfwnVoRxotPNmDDF8QSh+h26CLYNjKcINasrnsGhCsvkUsIbQX8/A0aE6MX8rf6QA50LIwkx/rQiJkGm/MtuRrS4u9Vg== 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=xMMvLZDdFlVtoMXUZWOUFlKNE9jP+XW12IgXK6hWYG8=; b=ktnon88H9039lkZZdwacLTV9RnpQQTs6Tg6sdsJgycWLm9AlCS1viFAXm1w6apErFoBNCmJ2ykSsLQNo3imNLKquFeb1xcQyG23Zi1A+2d7XxJyjAXdcK5UMiGcKBla465jrURcYnvlelrBn2GS2JkePQDtdU6SE5rFB7K2VerMui/2izPpi1RrwWIKJ+5Z1RFjttr/1r0m8Hv4pE26wnZOEdox1V58gImmdxbM5ZrpCDEiSkcgfiDG2MZRIuoMRdlhsgpRmE2vfwlR9aqOGQgptQUTi1tThM8DWcazqMKL0WBOV6RkiYxN//KTtWCuwzx+hzn2Sjaios6khutMsTw== 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=xMMvLZDdFlVtoMXUZWOUFlKNE9jP+XW12IgXK6hWYG8=; b=CT+NLBBhKxpVO+bbUE8M97LBN0q59MTU5G5cuZSBPDBQdlgQW9nLUvrasvgPL7P1fqAUGI3zs+MFpoEMzM0BujNMgv3eFBS8mKjz+O0La5Axn5CfGYp3s2M3t3KDHmMQJxKtJNqAKw5gBwQTu+/K/5vb94Enmbonrq68SI7FVbI= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:41 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:41 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 01/14] block: return status from bdrv_append and friends Date: Sat, 9 Jan 2021 15:57:58 +0300 Message-Id: <20210109125811.209870-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:40 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a583bcf9-b5b1-43d7-25eb-08d8b49e4a3b X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: qfq5gDoVO+X43S+1PG8cnRApOWUcQtF/elChmWoSMH5JFo8s72yE2HSxW5563yxH1ddOrs0THxm08bbMhgH2IhAGGabLj3qDyUW83vxEb0ydHSZadqwwrgeQLqIDvfHMzzEt3crUB5j/8cv2D0tFXD34R9f29Fb+CmOYbCBOq6EWmQCViMMwq3Kp8Ys3b+xqubB2A+Ex0myfhQmBLYy2Mm0vPFS7eoz6cHrygb8O7JfJEyCDGhym9c3wyrXs4PbDphJj6Dkw6lCwYnJQaCDipc8SXfP972iXN3ZojayAHS8zPLJp3qjezcf/ecnwBSatMloK/02l8gq5avU737HaotoS1XWW+bgyKGCE7gd6vfiWRxO2cF4dcpT5xX5jZC+KTjWrejKj7JcuxSc+51X9jg== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: ZHKy28HUADEmk25aa5csdnF1zZ70l0G3468fWI52ObUfs1oHR/KqOa29pdrzPkHTriSaOLuySfFFEuF2p2C0DGZWP+0JeZqZoKQ1D5Ef4yx6ZZ4QHTY7HAq57d2gamAoscrMXBrsOOQ0zmoDAcDJFva8RrrgP5yu2uMh/88Yth2sfFygsf9x2TfNZjV/mpjsmdeq6ZyPDDC/tK5hySaUREsMZegLd+h+A2DCgbPaDcAhAxOrbm099OM3TopeVFX6IOt78HfK4F8lekA7GkezFinL30FiDl7P8J/ogiZ+D2KzjbSmJDpUZl5kYPtz1itGbMwFNOvmLYxPBU1ba45xDfpU8hY62rMOH/wZphMfcjUSngwXzgLlWNExra2rCdCOacu3EWaLIJanrn9HM65q+XMcEiSRKxVrPROduIYg+lVZuXBmX096JyIYW9+cGP0WMJULFQ2y3rPWel4hhnc4wBZcb0EjdDziZ+aCr5MMlXbcEJqAkI3g6OkihKKk12692440qK8xLuFrKdvSiwP8RHso8vmbFdOocYRIFj4HyLdhgltE5nrNzoZiTM+OWTE62S76dkyIdbAcKK0dqESM/dzNGweMlfA5MvGpZpTPpSY6rXr3XkV7qjb+1cMOC4Ao/E460TZ42S76YZJtDXus1w+3glEqfLLO2mAcsIs4e9FW/QjQ42d1PJUqPzl27XWvS2K65/TRZORsONrwmiqfxiXtwitHM8bntKwNn8rkeZtkHcppqUaqDDe/VtG/G+dX+sC7QHhf8FlRsrJbE1mHGXQUHWWvikOa8xZCtBu7zeyF+WACh0KkY1Aet79Rhl4KU0WFgWCdxj+vwpCjbT95BM51CMy+3gkVjlhhlec98rnS1UTcFIKt2Mbv0Kgn8C0fIt8x8PYLsJNWrhJCeWOcejNF+KwmwYZw/xrEaWqDJ3VLlDJxgP+Ls7m7H8uDCwweyUUrhzmgwbuHrS0QTzK+nUBDIYEl0/fQGGO373cKJ1wsBmpXXaAMDzKh99SOp/Qp X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:41.5371 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: a583bcf9-b5b1-43d7-25eb-08d8b49e4a3b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 60KBWixxrNymCpOs4MvRe/aBvBcTopKPdyMIE1NAUXkSC9WfwBywYuVv/KBI5EHJ4ezKYoG4m3aWYK63B6OxB/NpP9/Ynn/coM+2jYeWcCo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.22.129; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-AM6-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, 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 --- include/block/block.h | 12 ++++----- block.c | 57 ++++++++++++++++++++++++++++--------------- 2 files changed, 43 insertions(+), 26 deletions(-) diff --git a/include/block/block.h b/include/block/block.h index a193545b6a..b4e0347b49 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -354,10 +354,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); int bdrv_parse_aio(const char *mode, int *flags); int bdrv_parse_cache_mode(const char *mode, int *flags, bool *writethrough); @@ -369,8 +369,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 8b9d457546..1a5d0e748d 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, +int bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd, Error **errp) { + int ret; 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,24 @@ 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; } + ret = 0; + out: bdrv_refresh_limits(bs, NULL); + + return ret; } /* @@ -4533,9 +4543,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; @@ -4562,6 +4572,7 @@ static void bdrv_replace_node_common(BlockDriverState *from, 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 +4603,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 +4635,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 Sat Jan 9 12:57:59 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: 12008255 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 E1296C433DB for ; Sat, 9 Jan 2021 13:04:59 +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 7EE8921E92 for ; Sat, 9 Jan 2021 13:04:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7EE8921E92 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]:55588 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDvO-0003pZ-LV for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:04:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55298) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpU-00068s-EP; Sat, 09 Jan 2021 07:58:52 -0500 Received: from mail-eopbgr60103.outbound.protection.outlook.com ([40.107.6.103]:49158 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 1kyDpR-0003dJ-EH; Sat, 09 Jan 2021 07:58:52 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ofQbwp/JIV7SUf8ab1mq9xosKj3oUDsNdPQphk3d+QhPjIGNES3NG/rfZx6NWltuIE/H2VtdEK7hcapsJGvIUSfWLnMTP7I6ctpHGo97Mz9L+MOrAvBsD7qStBY/umuevmcOFAiW5/1O4mfx8GY2jq0tVexn3MQU+98GrrjzbWWuZtG8NOM6jua6DpVipCrJ6461ui7EcPdwszx4BzN9JRap0UN0yXJYSFD49iYS62Zz9WQxvueFVWc7F6NQ5pO30wCD8jhIhq8FFbKnjAP3yclh34k57//8+nzLOr/0rsWrgtViJqPjwovc/395jsCLzaRVBoUr+FsMjsKocBpOWQ== 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=Hc4Nb8E8gqGRpwoov/MvHRCdPM2yDL/Xwq4kYSxOh28=; b=TacH991dLVP/aegT027QoWkb5syWvuQwTIQjt8I/j6P/53veAUwY/5/aj7AJe4Zu0y0XxcDCXeB1ogH24B6Zp5yHS/k8rkla3QJViZNn6uJtt9OOyu+T0jSIQ1WAwkzZJ3RHphai0GCKXDqFbhzmAc/wozSSCSjusEifcaR77zXMNTOGsF3+zWgdsAxG3v1UmOOu1WCFBeM+yQh4EZklKI3mcc7A8E1AOgLGOaQ/EHlCy/NcAFz/MgSaUWZGCfc7BzTW419q375fltDYJZ3nBh64+/lAKV+/tfWGWd8uIeRCG0WLkUcVpK2MqgMtvIfNZCxtA7MpM+OMh8N91fvk4A== 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=Hc4Nb8E8gqGRpwoov/MvHRCdPM2yDL/Xwq4kYSxOh28=; b=CfvXZtjXvvxEyKpv48yZWW5sMseUWvfc0aaKIH/9ZtO8Yhmb1RXomhh+rSJlIRZyqHb+BynDaHNZ+DtlNruLE5xju1g0+Y8peBRliRDyrZxkYEZ77SgeR6bbPpPKFqg3VN5jffAZ4F2WP+0LxfiII5+Wsm5MZwDEQmT5CXV2pY0= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:43 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:43 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 02/14] block: use return status of bdrv_append() Date: Sat, 9 Jan 2021 15:57:59 +0300 Message-Id: <20210109125811.209870-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:41 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b2768eed-761f-44d0-95d3-08d8b49e4b17 X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: braqcA5Tq81OkkrX4ixOcZKZhyVq3opt659esED8H6vvpLy0pSgsQOO54xCc5yNQMADiw2Z/kdb5MMtL67zIW90IDlOtZVXQWPXqIyuqo5o/qpBeM2lEVZDKQOg4pezHw9CCGn7gs98DGDgjPf1O3e810mxKmAy6qDDYFOenxx/ib4n/VUQvYQCZqIjTyfFq5/3cgP/zvGkXgDlEV9iM3KGNsYEL1kUDWTFBNmdmZSuu8+cL8vEJ52Q6kmm90GHkSlwD7rbH937RnmL46znYp4hx3tc3tq3exSUc6QJYP+Hv8kFnF8aVXTqOeW/Ymzjb+3JdV97INqmPn6vNmntz+3K6k2m2Xgx+er95hQxdBvRB2Bac8pw34kWRtrhr4ZHKfp8Mi7mF4JuYvfR5/qafNw== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: kWTHAE49S62Hy+MYZFDmewHxklom/QYrFmErdowBHYtB3P2WE3Glob8+k66Wr3tLWqtjnkoTiXsEhI1bx5fZGas3A6wDxiTfZh3ty+zHrWxLAErh50h+lBq4AgpZfQQfgHXBc+/+LK+/VAmOOUc/DLAoK6tf3H5Biwo51711BsT27ZgaWkg0kUMOyFkLdgdMPqx44vKEuN9UZ/9DuzzCVc6HYZMA2ndBSUMu2cdinWnrnrXNcHz54kKi9XbhxaKiWpK1Otgzd9DKrkqbbcwamvp8tQZK46XKlDXCUVGH4cl0CGYXvgoiCQE5t4S8on13u1uCXF8nucS/TIpCoxB7G2Zz+rLiM0oQS5/MlctadEU6YkMZTelqzYI2hFojANgawAveh0BEpRxunrqYsN3gukfo40UrC/9tRzmHEK3q0Te2CNEljPf1oa4I6OxOi2yiTR4dRt+ZDGOQIe7BkkojwZ/KALF5uqlfhrtFkU6F0z/qhD5n7IPYwFSxYUrp72qDXi9Jw3jdp3m9cr2pd3+uXto3kkfTB1qluMHIwSVHafZQNkzrEc5dkPdRPwulFp9f1RPKHGgJvxT/0EJtOl+XKOrzUYLaFdZMWoIPBET58xc89gnCiddQIDXBKYhHSzyyuc/NPHNZI5Csojpi84xRHzxb4zMt+IaHioovMkt4DyzeXf0OxblKddxsa8dybi0sBi4ZxwhBBh65wrMrD+qT+ZTuOO+/JBL0rmqKIaa9sTKHOpbdOFHIYv4FiSQkgggg/UlZWMlHyrwKJLBVDRBaU63n6RVGdJHmUdOyNrjn1+fuD3AlFdV4vxUXzl3g7V1VGuVXprx/tYz/QuFi/7ii6ot0c65w7Xnrqy54rwmXDJQA/N6l8NS3Ph4C0NK3Zgrthmr9X5RAaf5lFyv5up3PGoJYBmnKS0hrnfsKgUcHRpL/BH4nONxni9Zg5kbEAQuBoBre0wcG8Q4juxOQe7SPMwlYnaE5cf4pp/uT5tuQk7Y0rw0sPGPyxEm+ZqOcwcdZ X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:42.9439 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: b2768eed-761f-44d0-95d3-08d8b49e4b17 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iVpOte6DgTFvmrYVMIfQQpQgumIUqs3buVnd5n8dJKt20TeKf/M2V9b388jwpf2/DhvUUlpmwHVlMG7TQLVdxhWg8dh2/cjsqUmh12/pey4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.6.103; 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 1a5d0e748d..2a13fbfc73 100644 --- a/block.c +++ b/block.c @@ -3120,7 +3120,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 @@ -3167,9 +3166,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 fe6883cc97..46246d46f1 100644 --- a/block/backup-top.c +++ b/block/backup-top.c @@ -190,7 +190,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; @@ -223,9 +224,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; @@ -235,18 +236,17 @@ 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, write_flags, &local_err); - if (local_err) { - error_prepend(&local_err, "Cannot create block-copy-state: "); + cluster_size, write_flags, errp); + if (!state->bcs) { + error_prepend(errp, "Cannot create block-copy-state: "); goto fail; } *bcs = state->bcs; @@ -264,7 +264,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 2431448c5d..84c5cde07c 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 Sat Jan 9 12:58:00 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: 12008253 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 BCC73C433DB for ; Sat, 9 Jan 2021 13:04:56 +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 400FC21E92 for ; Sat, 9 Jan 2021 13:04:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 400FC21E92 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]:55244 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDvL-0003g6-9m for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:04:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55314) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpW-0006Am-VR; Sat, 09 Jan 2021 07:58:55 -0500 Received: from mail-eopbgr60103.outbound.protection.outlook.com ([40.107.6.103]:49158 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 1kyDpV-0003dJ-2x; Sat, 09 Jan 2021 07:58:54 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aWRUnSp9GKpaCmqKLbwI+OGQuaYRDJmzuFgT//9MiJT9XHg9Vx5D5BldHVnH/eNBLQqaiy47po6a2kSuH3h744Ni9055QL7ZyvloEkPnTLUVSNj1yPVePXh6uVGpAJcLRx24HxNQj04twn/PvS4nkTN79lBacUvExZQOmmsTUAsFovJyzgqoqh+Zssf0tz/r4DsgsKkZ3gEygss0Axh9e3cXBh2UUW1kerbDNS3awtyvmM7jvfaEDvmp2zxqJL9d7z4h+TPCJBgm+poUBh+vurHuGoC9IGlHqW5YkG9cEa/ebq9ZbexH29bXpxvPvB0GSKrtdjyML1Zinrw8AgoVyA== 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=N6zpZbRvJ504sfC4zxpnLwWXrX7EvIoUCI3gcpPgqryi5N0ZSpxzTqMShx4iXJigIwkesAhGnW8Y/jge8wK81RBr53uzWZu40qaURG/OfQS6bGyjS75DE2gSkchoQU9erzvsB20emoLrlfxrJOQAfl8DIAWv8ttoEsEiGnPEofLTfag6OYv5VhjdDafsTIrvLDPH9s/L8A39rlIJnaQAXvjMRcC8h3DBhyz2j/2xWTGoIxFwsRWf7r8KeFjyg5FBgCg4jwqie+m6Qf4co/E4PZKA4Qi5F0jGGDvvjZGZGMc5NQ+AB2r4kLyXl2o/qzHaW97ixmBlhAmAKeSh/GSJRQ== 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=VPZ8aKXZOBy4POMvyNT6t/ywnFqqhgZlHjjz9/k0MqzUriDH2Y8VmxP5KhkgHjCVBSPOoONbKvFXhPnLHRJeoSR4HeiQhJ/ZFBBK6oDLtKhsxjkeIggQipjnupY7xprUCkkHX1yuoeOVRvakSlq4uxv9z/fXxBhe1cWjBaGYn08= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:44 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:44 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 03/14] block: check return value of bdrv_open_child and drop error propagation Date: Sat, 9 Jan 2021 15:58:00 +0300 Message-Id: <20210109125811.209870-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:43 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3a0da22c-6bfd-4fec-44fa-08d8b49e4bc8 X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: Yz+yLCDDQNdE25Cuk3tPJ8DOWjGrXbqbPeOfxQaUzn/3JKYB1um5VEQd80lolTUYd3r5X8ANZBlOtnxk8koZYRs5c6OAXzYKqC5ZpfYFacqLVPbKoranjJWSIMcLlwVJ+Ac8PbhK/LKskr8AVizxlK1N22fRXtwH5bAxsAwRxxk6NhvKbi8WhztkkVXqoYDvtBuIcmz8m9SgfnMgMUGcpF4lSEv1kXntE1BRgetSb8cSkzJ6Cu8V2VrWuZSj6G7n1XpAXk13Hxpua3Xwid5zvtDfG1h1SrGb7TswKPIXFNGT82dwXfCDVRM5c/JsL0sbNm7HhmzAErUHl0qJyST/NTw2u71MbxGk6CKhq6gS4sWYwN0pF9oorMiMV/dPLF+yEqfr1nPy79SVYllgQXpT5Q== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: dErJ+J62ZWGLqXBDn4HatVhW7+KVnswhhdTuhWHNvV9DqzeBW8JyIxLAUwOSLmlhan63+6VqsMHZ1GonufYuSHvk1z1xJS1AwnlydfQzc7KEvP9LEGltzyXDY9uICcD8EuFI3GaqtK9B6ag24BbPnp85qxDHaTbHmgkKfsr8HdEzIxnSIxB+OxLxO266D+0jxxrb4xc7h1dxAW4dh4kL+VMiIIt+KnEKa1MzTEt4VpDGK5HSu1NJCl7QSW0XiUROXusP234Wi5ovSEsyQFX31KzpEZI3/Pb6bs5kaXJA2IWQAYWiRyGBLAg/nm1yzsILI/rNHsNm7cGF52CCWwVXyvtj6hwyZSJT/9qOGipPAQc4ssgDntqL6rjAVN/O11veyun6vZck9haz9HWnd9E/QjiXqoZcE9Q+pi3HXTTLWT3l7sLXoELxpyQ4/hozmIbrJwNmZOtijjoGfzdKD7l+EsdGxddyid8nHo7WGkpmmLZbdbERs4N7ZWs28Ek0fcAdBfG9e6xOT3DLLPIPvMWDDjAlEy5CDbu7uoEGX0hhdV+DgZfzzmUvySjiEgg4ZBTy0HQOl1EpNxdDMNxGeDm426a/9WS7vUa0L7ax1V1Pz+6R2BwQhhD3cOrDkRHjdx8h3RgLcSk0UHEnFHns/Om29+WZFq0snn9sR2djnO2okFrebu/GGi0jMuoCsAM1R6gbN3CbzsiylIdX4psZ1d7VsDCRJHn/qeX4zP9Xbf3ZngqYL2pIaRgQ8djBi+AY5eVpOKk8hyw8EkHXgFoFDxx/cn3EG/2Z9FW77VZhLnw7PC8h+QP/EdpW9OPxMcciLX/59OXLUvEmdx9VLdRzCjh0HIQLa/4Nz+n2MgnchqliN9dqYQI7ANoh3WDaSMqTnn4e01Ln4/xIQQAnA4BgagOmEkeodIXn66R9GyByTWKDIOQMb7+CdTOQFoXt7sS9T5O22NiYeop4phuSupwYsVjsAfIhOgKv5H9Mu308B0v5nmvr4MAoD9707LPgQRdjASr9 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:44.1227 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: 3a0da22c-6bfd-4fec-44fa-08d8b49e4bc8 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 82+YRBEipXOcbidjHc5nAmcTUvfQi9dbaibtb9ROFnDQvVV/AHj+2OScEQY1o0KBFLGuxFNbdpccQjrvLmzfKXXBkediex+iDCn8fwebm6o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.6.103; 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 Sat Jan 9 12:58:01 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: 12008263 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 4FF26C433E0 for ; Sat, 9 Jan 2021 13:07:19 +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 E279623888 for ; Sat, 9 Jan 2021 13:07:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E279623888 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]:35170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDxe-0007Of-3R for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:07:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55338) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpY-0006Cl-L3; Sat, 09 Jan 2021 07:58:56 -0500 Received: from mail-am6eur05on2129.outbound.protection.outlook.com ([40.107.22.129]:46432 helo=EUR05-AM6-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 1kyDpX-0003fN-1R; Sat, 09 Jan 2021 07:58:56 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AhxNeB6HtQ9i1SUIuI9PN06E66gYomqQXIDUJHw0m9YY0mcp0vdUpuUJvLg1zGFiTpHqoojpXhMlotlauBnmD48ipvmd06WWPJUkrvNqmT9CvpAwUHL6TTZHn/Fuuwy/BcUvmyoLHDwVDaDbJnNJlsrY2pgelPKMkgHLI6TUuueF37R75OrAInNZdp6q7Wkfbk8z+3qo5xDE6Lt+MMfjj+ECskA+uDMUaJDDmToopJBPmJ4sksZErF6hhkuFz6U/VFBlx80IQWyA0UKhUN/DhJbPS/FtJmzLJuuWoM1lFfWIvkSzcW8sjW4r22rR9o4xyw17Kcanc4FZ1PeiBMNnTw== 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=NHnm0nzmIwn+sgo8rhgq9lMJ3jmOf1G9O/f4rw2SwiU=; b=RAV3q9cNK6PnRlHDhTQ1jV1xjvGHTUzhwmJNJ7tFDas8SZeHPMh/7Zc/s+lORJAavxqGDGGIVPxbEEcyZITRGColeg+j3LfaLQwzYYKd4GzpKyL9KK5Tkox3316qQTcWf3Khh9lGY2zo7ciMJtzBrlUIBd8pH3iCEzPEiKquvD23gL+SmyLLpPMnX5wauDcP2CopYO8mqXV/KGDmBoUQ6MohAMiAnMdPsDIT1fStDUmwwXhLGDuBAKqSBy/xuCsEp6w4nmAPhYE3+CF9PjJG4M5MBMSwoBS/1OPGQqNjrZDFAMkn7KBPm4nx0qMpg6np2djIIG1zt6FWD9ZM6jT0vQ== 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=NHnm0nzmIwn+sgo8rhgq9lMJ3jmOf1G9O/f4rw2SwiU=; b=d88hNszvbrzUkJ/k2hINQVb7lkEhaY12Bb8OrKcWkr4cNqzJML7EnZyxK2dJaIvzBifRlhf2UrypKEoEujvihPmr4g3iXiGB5VP6ARmJwquvDc+zgzZHpaBNdJHF0uTJV2ggWw6e7a9sRDbI4fzdFS8WiDKa/z04i49lENWmHYo= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:45 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:45 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 04/14] blockdev: fix drive_backup_prepare() missed error Date: Sat, 9 Jan 2021 15:58:01 +0300 Message-Id: <20210109125811.209870-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:44 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7495fcbc-1c0b-43f3-3b77-08d8b49e4c7b X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: Ed+pA+bQ38TCVu+eR+cdzji64KBjduUJJ6eQasQp/ngpjzlWo7ivUz2H4IhXeYIEiaDCQYW/Xy4YXBTAciowmQOANMoKhaO1r2rP8KLhkUO1KTOiM89kT2MDBL0wm6fJCFLKs3tV6u0C0W0vtWTTJDcZM0NGu9uQQvzcbeMMkVQU8HDLSG36rSq77o/Uie5AkAZFoF/T2JhtiBh3f56kyGjncVWea5nbsa3cRnUSZbBF50QLdGouADV2vjAophNE0pR0jduauLl9jBWfM7wruaQz6w3ti7JNKuBr3TLjB4VqhjAP0CXme5tFUEnaLzf1aZhjoZvcYvmPB0ZMOt4YV7KqmVwxFiaN7r3lCGyf6lssvW7Ii5znJkfT1Sa4ccJbFmP9W49mFNZHjD0AJlSLEg== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(4744005)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: hU1ZvIK05vXC3/VsfNRSgwwAkf1Ez/Ho3IrthVbztjpXWGKs73lWjeD1CHGMQGhVUIfE9gWXmurFmmu5dqXgDmlUSBhzx+7vSu8z2nqPwpT9JOqzoWBkImIAdMBz2NZdpLzREVGRPK4EpBj+jb3pIv8kqXfr74hQ/4Bn+W61W4r7slNwfTZ281qzwny26WBnrRx4LIIP2x3omXHfxzj2GF70PpJCs6Xzpr6bpQUfkKNPMePuQNl5Zmxdv7i5bir/MP7u32/kkBAoQk2HK1Iy49+qEeZjFY6TRZT3to69dCwJ+ftW9uSvIG+SMVEVQATjLDr3BBJmU2SRDxNxm2/Z1azLCBdIlGS7iPaawOwJfFbDOhQFyDw4745Vnu2lL/m/Q3Lq6aMjbRvfPlst8SmE3bn6gEQx+8nuwplyUBaPNtKMBjLWidjKvfkZYUQdA5IBvr3v9NHsgpNCOomcNt3Tcb8o5bhE//uDrim9mvLJW0qb5HTEMTWV0FPo0l1MQw2UE34kMjLnFYpEZy7qzMnV8fW28pl/jq7buHGnt+ZFA/3vxBpMyLwOYalv+OpNl/8HV7NV4ttjWdThJRxVYr/k9n/E9NxChhgRXaKhtxGsdbTuxU8A3kuSxVbC2LsJIubBRI4UWP2E3RL7XaDRaMkPfQ30k28RHSulOTpyrkRwT6hnQJPXYgwJySgv21cF44pt7ti9qE79enq/TjkV52l+SnWMQ8fYtOL/w/B6PZ1Krw0ivlp2h4tAZ91HnkNXL6AKnfnZ4pl+ajrVIN4z4LCCyoLWpZxKLQRITO8ZDmdLRJdMxmhNuD+X6jkSqgacWYFqks6KVfnLEa2yeJGSamd0Su4U7W0VRZEGaZiFRE9C4sQh+vLcSd//E+V7BUr9gSDNJlE/Jv59vAD6IPYlZfDrAWSXn2bAtWKYQEmAha7N3ilpxHh8oQkAk9Y4Lw/f7Lvqv2BDXUT9pGuntsGbWQQEZZZhdkK8eh8R2aj8MbcT5b2V1BPXdhpOnCx1rY53pFNe X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:45.2836 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: 7495fcbc-1c0b-43f3-3b77-08d8b49e4c7b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 05PyxEZG0AQpmv1O9QGVwCKtqW61yYjsA6JrfYwr+aBwxnTq8EfGw7TnqghS4DjlCn/O1xUkcAaS3G8LZjpznBRz3PlwnLyS76W/DdQZTjU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.22.129; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-AM6-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 84c5cde07c..753fb90c16 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 Sat Jan 9 12:58:02 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: 12008251 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 DD539C433E0 for ; Sat, 9 Jan 2021 13:02: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 70A31239E4 for ; Sat, 9 Jan 2021 13:02:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 70A31239E4 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]:48768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDsn-0000j7-Dj for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:02:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55346) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpZ-0006Ei-DU; Sat, 09 Jan 2021 07:58:57 -0500 Received: from mail-eopbgr60103.outbound.protection.outlook.com ([40.107.6.103]:49158 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 1kyDpX-0003dJ-KS; Sat, 09 Jan 2021 07:58:57 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X40AG7ngRZETF9t0YlAcay1ExZubITbglHgbIs3X2QtheRT5dYBpW+D9IHb9O3B+6SPKf3eLO8WWq/5yZ7dJPHPcNCj7Xq1Gdc82Gn0e1nhS9yzGwBYM9EEyLYxZykM/CnYOvE/NBYwPInbxtkh7ObWRLRghq0TyCYhsgn9XmloXlrwqbj10abWSQ3NgzBQo5BUl6NelVqH9IfwPzPjuUxGIV1yTnkYiO8zlrZFYAd8Iu5DDUuidWaSZLrmsGj86dDh8Cuwk1ha8+z+HABDBzuxxw7HrY8lh056ClSwdep9R8W3TIFcQmCIIracIEw4UPDrk2AU9ge1UYUZP1tGLPQ== 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=iTb4i/TU8HCHgeMPZ+/3I0dtaeoR6bFUd4N9WISs+2k=; b=LPsdMk8QDYidl5YacugM8n4INfpa4V7p1JaRv5fl+kHNT9xOomZvJaSFoOrR+Hjv2gkIlFMQ7HH7SRcgTMnv0I7yzqfcuw/byTyL1bn1w9m6W0mBIO7U/pTsZfizCySktEliQmILmI+4ogpqMGRXbA6W7GphokWyGFXfUdoGVEMXioqiMyYkXqPkRnfO67saWhSy0NmwWMILBPoUSIXIn8gP2EaHvnf81JRRtUqzwRmJ30Oe1VbuW1tuIYCWs0MQ3W4sYt5QU1xejmT2V4TAt3m9pul7SpTKM/zzZwuAQ3NoLFbtb/LRwKTVX+7gMeOQrd+3KlsPwOkJmc31TKB/Hg== 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=iTb4i/TU8HCHgeMPZ+/3I0dtaeoR6bFUd4N9WISs+2k=; b=vHzQSmIkRX8k52EG+gdavMxcb7ypBt2cJPzkG0s7ZOfCWLhzmqxfktCQnuiRyKJW8hFdjV/Y3bFLu1VwUX6ZUS7IwrtkZEcO0i3GXcOKpvc7kEin8Bc/F7lpYj1GeLhABx+JPCJ4DCF42kmD4ctG+fNQCIibcIedNGFcA2IEWc8= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:46 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:46 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 05/14] block: drop extra error propagation for bdrv_set_backing_hd Date: Sat, 9 Jan 2021 15:58:02 +0300 Message-Id: <20210109125811.209870-6-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:45 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e42eb41b-a7b1-44fc-7068-08d8b49e4d45 X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: q/CoCw/KHtRoqPNMNbE2l/UEHpbk9Bw8+g/g+/KWimAR7/ed0TaLOlFhvSO8rn4K77QTgLrxjAZ08FrAc+qAHpEh7C4evPYyGglGPOpHu9WbTpdGzlCtNkb5woAYdCNen3F+YcVWByDe7Um8J3sadqZUAmw4hfbHKLSFtXUXea/9w9hxVtDoC+u9cx1cVKgMHePyr6c6Zf9uo+BWw7mmPey7SKaA9b/gon6l8JDIbU0mtIcPSgXHW/5gVRr3vGnrpOTexweUIiddiQurLCJwI/XbMMhOxvDWOZqwyAhMURukAR5AJzfZyezwCbYCnnuiQYoVa3ePN5ki1tH5taqEwWACp7kMTINCde2yiXWhaZF2BHVgDxlM43GayvuXr+INnAD49IykZQD68OBYOy954g== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(4744005)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 8oYX7mHu5IFEHUojNuP469XfgXJGKlIKEok38rCR5iY9onexz9gTsSDiRfiWik6dx1orBKXTp8Gw1Ln7FRMZdAOEzkzuwMOFHXAFLFgApOzS+538mjDePC/zgN27u2V0DQD7acVO1H0OeJq2LTCI89xQDyIk1YVdjJvGE8IESNQrWRm09DcSEsM9Iqw9RiGp8DJ9rn3uGHwrotvDRLWe1nB3AJDPO82C25eVcKZEmVAdqV+JaXEkFKPk81cucRlLvWxtWGYw+vKBsIB//MEJamLK9hDiGhb+TftUD5B0ypNIqQOlDVaHUYjZUTZezdzyd4UPhpGVt9F4h+/Yx6bJwDJn1eEU7++cocBaXDcxQ6hgtCIL+5dOugoAOI4LWbeKmW6nj6xeR3E9L/yjdDkqX1bYj1GTdFu0wg0ysOEfhjKTPVwZ3GH3ICg2+c4TrK+hTheJg1Xo8l+gWokyMbTtzjmDCjLHAs7eKKBJDakTn4xi9bg3RYKaXeZefbl+Hcntbpr7xXvj2NP43J6NryAsFUrW6O9umEWq1yp2ukc+CtEXkw/8lz2RbGN5sNserNLnVx8RHeFcNSRfs3O+G9JQYcVfMU5U516x7sTKKDOjO1ZUEDrH0H2nYOmjtcqpZJ7LoQakFhtlsfE044Y89OCuiBf6tKWMqUoy8fYBkFMzEktFNEwz0fj+iZjrzaeXBbCvF3lCXW+/iFjBShi5z3ExnZbxdUjrd9WZAZb/1oeR+quNcr0S9z3uc5ym2p6wmBRw07lnh/gk7PDpULo/h5XzGaThrmsubyXdzNwYRqwP3KpTduFZXf9bLjVbixY7EBUrTVh+7h8PjXTKIWABTfCAN86vk9OZdQ/X8J0qVEpqY1wx4ctO1hHgfXF/PH4u1u7BF3UMKPE2ft6MOWU2FkjML8JY0B1SnvVpZbkZu6qADKSTvruGd5pLKA+JybSmjh81wbyrq/FPoMd//xl7eOIwoR02Tt4eAg2Xqnty5cmqISWH3tF2dyfFTkqF4nqXudnj X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:46.6785 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: e42eb41b-a7b1-44fc-7068-08d8b49e4d45 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZqhKdaPGKM9VnvldfKL0OD32aIDZEHkvTYqsoMpjMRIsekdRRo1rTDEsiVk26LTUpmsq+t00VtZzXQ7XvB8Ce+Qtov+tcwdhkyRhdq21qSw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.6.103; 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" 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 2a13fbfc73..0d7a62476f 100644 --- a/block.c +++ b/block.c @@ -2975,11 +2975,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 Sat Jan 9 12:58:03 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: 12008257 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 22E39C433E0 for ; Sat, 9 Jan 2021 13:05:39 +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 B385E239E4 for ; Sat, 9 Jan 2021 13:05:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B385E239E4 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]:57074 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDw1-0004cc-O0 for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:05:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55370) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpa-0006J9-W1; Sat, 09 Jan 2021 07:58:59 -0500 Received: from mail-am6eur05on2129.outbound.protection.outlook.com ([40.107.22.129]:46432 helo=EUR05-AM6-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 1kyDpZ-0003fN-86; Sat, 09 Jan 2021 07:58:58 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=it6mf2tNYdcFWmbSg1ZoZTW+phr8rt3KLjLk2v0g4/f0ncQG401ZVzp5CDCEtBEURn90dHU6+2EQWNR5cLuphO50eFpSGIZ3QZJrQmAM24rc/vS5t9lekWfxmqQ50cO1PQaOG1LyLFQCD1u2ZENaIdnAh3i9eywaC2HxhIxYJkpHtqV3pbImW3YDzYQdu8kbW2W5yXHugcoJJxHEmpkmbgjgPXMtr5lEcjEaSonNqovHonP4OE+JTgAVghx1TmUR3VAkY2J34oDNZ/PjrNuATt2+ZlpAWmkSvvKOpIIWwBJ2DWnJOU3FdUU/UhePFXVcD/UmiBIQmCmr7qlzcU1qJQ== 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=exfCdEv0ZW1N7m371IpG7jBhCEDPDBqCKcFHldarGMyTe+ES41vTfWIXaV2m+CY6vPrgRN0ZyRrQRVFLcOsfnxJmv91nhgDz6Tt9KQKmERvw1q0kY98Es5cEQBAApKUDQ+HUP6qUI8GOGm8LQPG62bMn5RpsuHDuZ7b/x2rJenZ+G2oGKwqBjC3DdIt1S5y9jbOJ8NbvGigATyJMGjRHec86ts1/tWz4zWTjDg65lqQohn5SSzwA6PV5kTeJfttMs5z4AfCUE/4VMN8s7NI0nI9bfw22PAj9HCUatvFDFyZow4msJzwvTO/i0PaLb6HYfR501+CxkppKEumQijkXtw== 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=vHRfvlrPQ/b/fWLsQ6l5JX4woZTI/Nh5yLjSTnU99IOc84R11ckR0s5mxtxrf6L+v5VFlNtxlQmdQr/GWv2lYLlSRnQ4A2ZC7f/bWUAKXk456/wn6VIB4/0YHHOeUbLchl/BErt6XU0NG4fqV7k8tlpWHuBUp8tIqFtbu0xlVII= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:48 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:48 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 06/14] block/mirror: drop extra error propagation in commit_active_start() Date: Sat, 9 Jan 2021 15:58:03 +0300 Message-Id: <20210109125811.209870-7-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:46 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 628e4602-6cf5-4975-474b-08d8b49e4e0e X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: SoBLKXhzh0EyLUypJiVNzDMnCJYRGNksfaTC0+IBobpvJxoEJcqf2kZpxMg2uZSIBWI9tmkfq2nTQ9BaoHQZI4iMHMDap8xAiNOhFE9yhKDjXzJ8yHRWBNN1wjRNES2s8227SXpNFCvMhZfEIlyqIXNXqQNyBFnfrR0DE10QpzbVoAwVf5AgFsfGirgRGko3peb5HROUbbVL+uAqCxGlh+Bvo0ry5LEYsnKNUMnV+uj4vXvsg4EwF7TYuI7K99LSwtkwb45v9+SoU0PAuG+fgUIOn7oTUAfPIJe9SKZmAzkkVmmFMQohkBkabFyRWLB3nao57ByeFscZdk6z/knA8TIZZHijBoEhoPkPqTXBg6yWR2hwAiLqJJZHz4SfhDExDRyburE+tBfK4t7YOoP66g== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: IdXfsK5IIHh9opo6CwHObd3YcKqZDZB7nDsbW71cOLjrfDr3a/J9x5q4ge5pDfTMYORA8SR/rAcEP9qtLXY3vi+oMsoBzuqmDqxuolxAtwfBzVhAlJjIDVK2axg9YN32J03hwmvtk4zT2Qx9jEHE6kiuF3wLDFjmnBl9rJSc+23INu3V/gIkx4REpfJdyF5zyZ4W1hixrXoWKE7U4A6s15or+EW6Qj2vy0kAmWW74VBHONf01D9RlamYRM9Rcwsru8reFfE1Qp8xqopNfbt6PcRMbMeUOFwbTSTMPvy/hZkIz+xlYK/OvzEagIlx5KMtmORzQGxhHNu+UXcr5BT6Gb5xdP4FBGXn6luYo0jLPldti/7hH99ebRMyxr/LanHI+OhMrmry7Eo8oe4H6pLuNRanxQKfZ4YvTduJ10VPeSiwJPEoPceHg/DooS3bBIN9kKX4TWK4BJ7YH0WvnY/I59tHwieJxMNQiPrGHgPrrGfrjnfxYqPRslxOgg6NTL95eYR4BKZB4HZ4+RlUpS32Pd5QKPvw3nyh64WbHh5zz1+HHhErd39AVQK5kF3pZ2zbf31AtT3Cm3iU0O0Co8G8U5tjRo8rt4j3z/2T8UntdcP4al+OEhYHvRgUzi+xtxZgcGPQ1m0EQ6bJkcnm/BU5VrrMJa0lKDdPOdgB00hhR8c5SMwQ4NCqK/OkknkTneX1fcE2+dIHrin2mdH+UKIsx3CvIIDS1xAMLE05WiaPNu4CCWZU/qKDFbtYw7Cz1QZYMj2kRdj9+EFzL6vDAI0nuZ8zb+VgO5t/kauS7WuVGaGOdvPulxG9C2UTzagjvHcVLHJwMU2p5X9TbUfSjAjNp9A3bruw1qkgTgt60Ca6N3teOcsieQgIkKu6Q6DH8wVKWmg+N6YU5wGb4HPyxXyG3NGf0xH1PV6TrqZSVDFSYUI2ispv2aV/ual5xm39yxfwqoNNtzJ0aKyzn20eCkZ0whukjaslPiLaQsV/IDsFYdBv+XupTlM4Tg6OcGjXYEf3 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:47.8952 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: 628e4602-6cf5-4975-474b-08d8b49e4e0e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ou9Xf4rFNoOGJqUC39gi4+LEjzmmAg5+N9NFtyx8p9g7I4vXhx+4/W+MsUieaowqRYckPi5pdfqbK/2kWk93kQP1wMY7cobl0xf0jbbUs7U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.22.129; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-AM6-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" 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 Sat Jan 9 12:58:04 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: 12008261 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 A2D01C433DB for ; Sat, 9 Jan 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 3D09523888 for ; Sat, 9 Jan 2021 13:07:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3D09523888 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]:34856 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDxa-0007Gf-Bj for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:07:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55388) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpc-0006NI-FQ; Sat, 09 Jan 2021 07:59:00 -0500 Received: from mail-eopbgr60103.outbound.protection.outlook.com ([40.107.6.103]:49158 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 1kyDpa-0003dJ-2M; Sat, 09 Jan 2021 07:59:00 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R0brRba04PJN7gSt2tcVO6RDMDsjHGg3FiLfi6e5urqxrU+4f+hckJI/hIvy5oljLMrZkE7e56F0eP4s0Tt1gWiwJ8gXFZgIHoqvYkDw2V+eY0onbHRbd+HsMraGFcg6jNd17lALCBQj0iCwpbzeIIPYDA0LZ/DRVxWbKwn97QBslvL6c2+KWUwv/t+9PCaIMakrTT91QzYQIdWZVYbklEqgLfQSEvbp2Ws+1ArH8ID1/w1ImMWQgimSZ2SjlPGO/CivWSrxj5DkUNQGYi71pUzNv5xJlejpT1Piuk3AruAWvc+TXh4OPPq7CO6/UQWrqXNAnQErVS7wBfIYRvPX2A== 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=CnvxXx4Sq6TeQbn0N5jnN92TmTyGAUWeEQWfXH5uujI=; b=YBE73nozYuj3li8+i37A3fAO2Rf26AyBLxkgdCn1y1dYsP4fazuOg9j5hy4XeFpy+jxAdEbijlPKj8ivDLnBsSxQTpY2B99Lx5PPJSIhsEr9fYodgHJOBLThkjZYWuXgT0s2nXa2xzhEX2qHJvFbYbFLn/6vu7R9YvJvBTt0Lf8kk/E8j9NFZaM/zE7EMayNE81NVTYAzlaMOGvy9HoF1xgbYUm2RGHaTrX2kYTys0YxNuMk2w+bdqMVWp+NZngBgoA5jWgX7v0s7VvoG20zaxCb2g1CRzB4uesPfrQFBTri/eJIINlOehh3GPGHH1nBCN0/JJXAyi69Gx5CnEzm0Q== 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=CnvxXx4Sq6TeQbn0N5jnN92TmTyGAUWeEQWfXH5uujI=; b=DtwLtv4zpUHXqb1Q8VT/Bgfpmrg91nXwruzJWrGVZ5AZZnVz4Pnfc8AX3qtETFR8j0Q1y6aCkrX0Dk3993kdJ/gvt2VVrjvOcrnLeCxE+EZTzEPOSVz8vtV3aZPAONctKo4S9FjXvOWzuPAdO5S0tV3MyHRrjDy6L5KjT3hEbXI= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:49 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:49 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 07/14] blockjob: return status from block_job_set_speed() Date: Sat, 9 Jan 2021 15:58:04 +0300 Message-Id: <20210109125811.209870-8-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:48 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f3ceda92-ebad-40ed-8529-08d8b49e4ec3 X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: QfotyQLI1mikNRmdOvmlsTUgHbuOqCg0yU5bAKwGMR4MeTTnsaBNv1Dh45lY6WOoNIGbuvpAyg2ogc3htWYC6PT2+cq7SOd1VRkT0dGnPVFeLcqTh+jEPNcA55/bDDCRfEDGJVup1ruATYPop9GRx3pnYIk/zd4mfkz73IIEOifQ5QyrmtNUrWcU4tird4Gq+CvkP0XtjmERogWngyvnqPK5G7bWGvsEP2PFwqeJ0OXshVagtNsqIaFi0OjphkAq35/DAKES4toJC+SYIudYCfRZ2i1uMrvY4g+9ORNqjTOLO5DdfKiMUwZApVVbKu1CAkuFBbf+CPXJAdqcOf56Gigy2b7FNGk87eGY1F63UGaDehamrjAnGrtFKme6EgpaeANZfXsByz8tkmcPb2RxOQ== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: OI6Qs18sIAHoN0kI9K5aE73omKLakMUx7otEe7xlvU3NC7Ar4oipnRqWCA4/jKnCoK050k6aDBAi24Lxfi4EzstbB/SIgFObB9nmYn/fBTbzOHida6YbKFxSFC7oq5Yfk2cy3bYBNvVZdFgqYuCHL3823Ye6lZUp9szO+eq1mdhIzuqeJ/vsNNUIsPmBRtOXxK0hYXsR146fFraspf89aZC6YjWYIzstIetj89Gd+edS7NJzeQEJa+UBxOhI1JLSy1wZLO2fmDPYE3tbAzJSqt++9uKNRxrW0Jof5+D8UW2cipGhY31PUB7V3TTWJZDdOaLtIaKu9mwZ3YuacMcSuTeiJZPC3X2twj1Br6wMfy1w5NaQY79rSklhGxtvJNyoUIF6zzuqqkPnTLBaeIyiG4Df86YyoPUk1XN1Gx/EYKzPsPOwQehKTvI3pUEwmi6cU58AtEi1DC1quGyUGu0uXoF7Juj8PZn7qGvL+8N0ULEUeF1PX9juYKrBzznMUagvS5irUPlwIW3hKx7cKQrEkvjdoim3h212j+QWwUUJqfT5GlUF2XcIAbOVU27doBPAenzCVafrSyu87SIAOm25opmqT1EGo09TdTCF41Pn7aHeGqEJdWHGA6oPtna7Eq28/6P6qA7KmlpdBs/U6I1JY0MNuxgNN8Q6eK/gigXBXBKJysBjZdLQdZsIRO+Hb39ZtbREBqozM+Qye9rVivmvzIe4bGfuVX1J2MPSJtYMeG2fxjgX/um8DOSsJtfL7E4Y/psylUq1j4bV6aV6q05eYYaFBFDiFdp1HHT/hKxscbVSH7dc+jvwQdk1YSnwtrofGkM989pHY6GAlRtyGFGqJJ0tNvimDVcptunwBfmgSEJGsmRmATY7JIYQULTY6m1/FHl2fSXo0JUQmF15XTfptuv4jOmlZzDnZHPR8KCYZq/7SyApwWrLW5L43g1P1MlpPYAADf2IApWOKBcj2Euv2JRgSeGe3zkJUYnG8itcvCG2YQGzpa/WPNq6XCM0aZHD X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:49.1965 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: f3ceda92-ebad-40ed-8529-08d8b49e4ec3 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hGoH54XMv+u3BMxLcSUHTVK5GevEXz5IFVkYXYENxWe4SzrHxL3sdUANH7vs7CQwfZGPEfZfEXenY5+kUhBw1Yo0WnJ++z0FmJI9+FIylv0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.6.103; 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" 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 98ac8af982..bba96a89ba 100644 --- a/blockjob.c +++ b/blockjob.c @@ -254,28 +254,30 @@ 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) { 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); job->speed = speed; 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) @@ -448,12 +450,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 Sat Jan 9 12:58:05 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: 12008267 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 806E9C433E0 for ; Sat, 9 Jan 2021 13:09:49 +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 EC9BA23998 for ; Sat, 9 Jan 2021 13:09:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EC9BA23998 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]:41830 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyE04-0001tx-0i for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:09:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55396) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpd-0006Q8-DX; Sat, 09 Jan 2021 07:59:01 -0500 Received: from mail-am6eur05on2129.outbound.protection.outlook.com ([40.107.22.129]:46432 helo=EUR05-AM6-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 1kyDpb-0003fN-IK; Sat, 09 Jan 2021 07:59:01 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KhXIkpAQApGBe3+Bo8BkowCrj9ha8a3KKHYNZj+Qta9CrKN0KAnEh3WrQmlCu7ksWsAAPAsZeyPvAOpk5jVKwLQ/WW2eMxZjbxNECPLXZyVuqmTveBXy27Abj/GoAKoGJfGQZPIufWdr4pQxNpyu6UIetatkTR6dg0rTp9hF6LA2QtPSXJesvhhOxGSPQBIv9yuL9FgHeVk5n3rjDQk3T5yYol6UAWfrVW/8DWkLsweeA8ulmU5T7wbk35oNpZDZ6wRI96i2owXmA4JpCGMyqKLWcDOP/suCpzNw6zWTqgdnpJqFdJR7/VW4ISyjOAWnhAeoyPTwXCN2vcwCZVp9Qw== 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=BtXtmU3gsHioLdQCRsEBvSafeoo8uPxfzTrrrmdARlU=; b=YKTWejemtiriqfqIkfac4s+S3qZGUwOVjV19zjP0wtmgAsyWaDBNVRmHlO9E8MsEZBPJkO/89Exfv9Q72FCgY5T8xvr9O4FC0ODMf/Vl+SKEo4jVB/heRWmljPD38Qefu/HHc0sB+m9nhATCZF+Gvzy4N3GFpQR20iyox7OYzhJ4z8m3I++7xACqVbcORwi1MzwzxxCoXz18vVTGy4sJC+ZevwaEm/Io9DQjZA0/eU9f9kwuVFEhbxC5EG7sUuUusOlOuRZmX5ZEzGvYuc6j9d+XpoVxzua8fkOHxxSet0CTeA+442h6k7sEyUE2jySG+gBOi28SJ6okFuz9jWXOeA== 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=BtXtmU3gsHioLdQCRsEBvSafeoo8uPxfzTrrrmdARlU=; b=jH22kF4vgalIj/t86eu0MCjdemjQRifEJ8aZpWNhG2MW2LhUkGEtzV0znLMF8es91upAWc+IF4L3a7o2U7nuHdkySaoZkdymXS0QjITk9bD+RjUwQBj98hGPp4cF7M7m9TouwgVL/E33WWRYVgZz7InhqVrfURtU+UVZGhZmIKI= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:50 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:50 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 08/14] block/qcow2: qcow2_get_specific_info(): drop error propagation Date: Sat, 9 Jan 2021 15:58:05 +0300 Message-Id: <20210109125811.209870-9-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:49 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d2c5fa29-2bac-4a46-e3f4-08d8b49e4f86 X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: 8N9ItBW1oz/8/xWn/hVFlDj4yghUPrkhhnMoK9HJyIGLahj8PVvLRTG9O0XZDGQkSHIdZ2BnB6y3b4eGBBjnHcKpChYAhNWi+yoFt7Nfwq7P9kWJ9nPOlcqV8oEePgkFPeYS6nf8qOsOq3fis6r/XJ452WeLLnbHO9nTgKu+uq0W293+vW1eDeuhrf64GXy8lnxZDzSMX3xNLytyh+L1KYt4LxZuG2BbiWIOe8bl1ELcnLZ+EVt1VpV+B08Pl6YbVkO+3s3zg1wTQuGJamv12521A7dcmHMZGiLJ1zjlCXcDPCQdRFzfSsWeAHr3CVNWqKSLgMeddFghrZUvvtRC+TrneEEJ0jRw05kBORIq94J93ddtwYnwf3NSsIhVM7EpFPohfk8W1+gnbsQ9lXSBBA== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(19627235002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: a82F2RWSp3ZDlJYzT4aYmqTBQuhoYsKe+dFr717WAv5IQDPLh4Zii41vabKQWc9YEbgV/9eDcoBNTKyAHf8SWJ+ZmVcRR1mcpdW6KdVJDnE/JCvdE7n/hCF7juUjbNrHiN/wFmvP9MsE2F6g72TZZfvK+Hm8gvdd4Tw7GBZn2o8Vm+eQqPvblWV3yUDqk7U9gXfvS5TIxP0LW5kCXmRB60UAAosS/9nKStSjdyWjxx5E+nUV1G0bGCY7I5zDgMKsUGqPxl5RIaYFJsnlsiasLiso/b8C+h0l1Nvvn8BA+n/MWxsLN2LFyaFitYOZCOmZ+ZQWV+KAJ5NyawnS+66w0IZDAq0S2KJ2yIU4nKwmuMJMMgWR2TdlJ6bPHGE6GsUJZLfPWiSwFIp5LeMfRHGp7t9/sC6tfwc7hsxnKhheNTxDWqw6su5zqE1KNPO5m/XaIGTB/Q9DbAo+e8fL9kwMQg2vZQSrmguLOlws4pBUplE3rr3ObD9pNgTbS0vqddBJX3J4WD7jbVa7lDNpDyJgRU1YUUSO1jZWoPNCNoob2qqpvGYTsbrircvSifi1I23c6AMm+CLH/4MFp0Cv3DiWlaZtzKnrMJ6dUCSgyefG3GYs4EqahhoyN/ZaKZDNs/QThS5oXRR/yNZ7vXGSvPZu5xVczY2+NfS91RnHAQ9zgwyt6maG9ZfgHPWywL3EFH6uDI7RGsKHIHbq7naeTTIh1PwwJTYz6y8//vxkmvPLe11nP7Z5F886YZnThkBLrm/xW8rDeuf2UkqsnBxwluLUpvIEqvQEeDqp7f85QwuUkw0NJFfOLVD/dMQwewFIlbzrFAitryemSBCKAws2ruy5bury4EnKthiy6uUVtP+PCU7cl662RawFiILjHkSeAn97UpjnDKqhr3o30pZ57uLLIhj3HcT587HK5oTm3nqVrWc3Ff3XDWtQZ2EpV0wDaxe5Lj+wfeDN2e35qiSrASZYKSWibechKFagyHhreASUZAnzjQ9eFdOjXNoI1BQMHn/3 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:50.4709 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: d2c5fa29-2bac-4a46-e3f4-08d8b49e4f86 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yiA5Kt/c+eX8eIBcgtZaAvFPVRuzP3xIZfEzJItEtJp62U00RcNcPWfwwmhwJ6PpKB03/TPCLcIhEvUMcaJ/lWO2Q/fzkZC9k2qnTKy4iss= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.22.129; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-AM6-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" 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: Greg Kurz Reviewed-by: Alberto Garcia --- block/qcow2.h | 4 ++-- block/qcow2-bitmap.c | 28 ++++++++++++++-------------- block/qcow2.c | 10 +++------- 3 files changed, 19 insertions(+), 23 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 d7a31a8ddc..55cd52ab96 100644 --- a/block/qcow2-bitmap.c +++ b/block/qcow2-bitmap.c @@ -1093,30 +1093,30 @@ 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 **plist = &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); Qcow2BitmapInfoList *obj = g_new0(Qcow2BitmapInfoList, 1); @@ -1124,13 +1124,13 @@ Qcow2BitmapInfoList *qcow2_get_bitmap_info_list(BlockDriverState *bs, info->name = g_strdup(bm->name); info->flags = get_bitmap_info_flags(bm->flags & ~BME_RESERVED_FLAGS); obj->value = info; - *plist = obj; - plist = &obj->next; + *info_list = obj; + info_list = &obj->next; } 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 Sat Jan 9 12:58:06 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: 12008249 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 B7E12C433DB for ; Sat, 9 Jan 2021 13:02:06 +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 52F20239E4 for ; Sat, 9 Jan 2021 13:02:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 52F20239E4 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]:48096 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDsb-0000Gv-8z for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:02:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55414) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpf-0006Uf-1F; Sat, 09 Jan 2021 07:59:03 -0500 Received: from mail-eopbgr60103.outbound.protection.outlook.com ([40.107.6.103]:49158 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 1kyDpd-0003dJ-6F; Sat, 09 Jan 2021 07:59:02 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TQIKLMOAF7X7xhz1rWU0Rv/547OmjijI0MiRImqaVWaLuMgXqLGPzW1TJ+t5uuqKyVykvlk8hdKxNXdEvcCbHthfQUxzyGcDzdYfnZsQ2sUfagLJx6tqUUf57fA73A/cIiQXhlMnY+xPzlN6i9IpuCcbXBWDtapCS5qU4XB4y8f6YABZXFSYX3qivNQFj+FjnB8gw+grK6v10v8uixFAPlSgjEUMntvr70c3plsXQF21Jt+ZyP1r3Gvh0aFff1OFTfZWkCE7kCIdFdnYc4ezZXpQJ71aUAa6rXNwr58zWilGkSWJoENtHw60JaMcJPXcxN2YwQO1qXrvD/z6E4eCwA== 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=8zeKglbOSbkoq0KTpzCbKUOHNoM3e4XBjXK1pjimCmI=; b=mvxKlF/unsz5NIYkB02EUp3xhviBZNaJkQlkeS/MJeIMAYxxwO1NgmmT2k+E8Qikzp/6Q9hf9e9Kpez9t+rv+Nyl7zqneS2KeE6KxdVKj73x4EhI/i+ifhvwmQJN2EjCf0/mJz0qjqZWcjIt1yvzUICeeB20fa9si4ixIkM2P3TvrRMIsgU1ERfMbcU1QeAa1+LYnfa3VmiYlk7RdsukGaKHPJiqO6+ZdByNUh5jin8IP2q4QpdzRHWy64Yi+MydzlYexgn2GxqWS67RnN/r9zbzzPUUH/zJSouk0w6gzWJVozSDWfyI6SODD7G42EkgeSYTgCkATVK5fVyYiH/WMw== 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=8zeKglbOSbkoq0KTpzCbKUOHNoM3e4XBjXK1pjimCmI=; b=CHXDa6f8+ySf94XC4w5dmpj55x9yAM4XUfY22Io9t7hleJJabLuOHe+FXXzfe6+VK826z+9MorepN6zUeF+J3fLQPY0raqv6c/JT/bRlmE9kA+F0R/U2kQ2C6OJLq5UBliBREECOMn8Y+Vy/WtnzraXOc829V1JCSeE0MLt69s4= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:51 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:51 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 09/14] block/qcow2-bitmap: improve qcow2_load_dirty_bitmaps() interface Date: Sat, 9 Jan 2021 15:58:06 +0300 Message-Id: <20210109125811.209870-10-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:50 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b85fb0eb-4353-4b05-7310-08d8b49e5041 X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: i3jAWHe87/Ngy7b5kkghG4i2olRT067NIYLAgS1trUFXhysa8tJKZKQSTCcVENSdV34XdYyvK+P2zCu3n4/ZLeZ4azv21lFQlFlg4r8P9YLfmTr4SyLTA5TUHEtA+RIP56nfnzaWbSNTf6irfJs8gsQ99Tn9bhSCdZ8GIOLfX34Ve1Xcgbl7O2s6UwAyVBksZWfAjHA6MvM6x34lY7qrpXCbAFKEvpu1a1b0IaI++a3veHlMkBu+cn9K1YDdW9xUPdn/FYcxNAO01f+YdR00F4EeapvCwTS6coRHBMy34gx8A9wbOkT51odWYGF2wl3hGCz8ImaWMsW/78LbXOU7amfUKNhAo2sStirJK4HOG1nV//SXwisQn8ofHntZgRzE5k8KPBSXTwTRUH+HdFRlUJrCEJWEDIzo9GVJ9zsDzQLYzd+5Ua6FX9ud5hRUTTEM 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(19627235002)(36756003)(6512007)(6486002)(86362001)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: b6WUEoDY51H0QgR21B4dM3jlJqpORwR/2PhH8nAe+7qJXrlMPxNL7cHmau+wagic5UgkDm1TNRbGkWkzp2BQb1hadtcX+84WjgBza8hPlqMO0B6VLiBNoS9A3T1efjgGlRuXx7H291Te9dJWY87fCt+QJuNsBmI2RinjDgkpX4mXAZ890vLkH3ZmtRj9xAacinxXtW9vAkMjSOET5hWGNfTu5GS/emr172v9IfLT/x4zmmCAKhgWQqUK1j7ODN4nV8w86uxY8D797WNcF4tgjfu2WPIYulfuud3DNuhPQRR+Ft1BDBJwkFJSOmvKHXbPo6G7reXPyYmfyY6omHyNMSesQgK5UygHLSYw/CrIzE2a3IQA15KyRylV9pvCPCcPVZ4l1sy44Sdk3HQNUwd9CguRxvOykNHvZOs0jCbD7rgcg7K7v9NHPD0zzpxqvLlFUd9s3L5vZ6ayhxqzCs10uxbkkQQQgEy9qgBViZQSr1Y8Vy1N9zUcQkzv9OH5vhKTKH+7/MMleBqcds3hzr9fYzO2pofTgQ7tgrqmU+0Xy5Qj+h4UE+NXzGAVno/3eSDqPEFFXwnhIDxQ1zJ7o+ci3yHaP5fgTI/SV7YT+ae5xFJOsJaRzY3Xavo9B7n48rvbOICdEBK+8pggmgRgRE+OpAqyV/bIzDIw1SKOGpPN+O/UFXXQtewGAcR1j7LvKAHur2dV/TbFiW8Bf450PKKTzChqN0CxcI2eSaCuOqrsQAZxjNCbCRjhvMaZSgIUeizgKbIoE7RMi4DIAhRy35JwtTD6+RXDVDrlD+eEeds5GMyejHJpucMyMTN3F/mHF58VpLNBKSo5N/LKQl5/HPt6sYG+NBnIuCrAd5YJIGaz77uVs3rlQ6TN1qNOzMMOS5cg3lCwNmY7lTsqVKl1Haf3cwm3jIgZ4PkaIKrsJcKXS+BQl7+2WJUHaeMsSeYNn8ZZIxNjkijTg95gXKNoBw8vnms4ls40RmBaUx/COnwZXgtP12RYygzghlL5xASTqFQL X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:51.6298 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: b85fb0eb-4353-4b05-7310-08d8b49e5041 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UVBYcR6Ckq8dHwjKcYq9sPpmes5vBvjY8Lcu4rzZeihhAKRtDV3MliCtEltACghyqcQBHZAw1u3xTezwbYHnSydTDXQnj8qqyCbjYSybENw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.6.103; 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 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 55cd52ab96..ca01f08bac 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 Sat Jan 9 12:58:07 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: 12008271 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 CAEAFC433E0 for ; Sat, 9 Jan 2021 13:13:51 +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 2755B23998 for ; Sat, 9 Jan 2021 13:13:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2755B23998 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]:47096 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyE3x-0004JT-UL for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:13:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55426) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpf-0006Wx-TN; Sat, 09 Jan 2021 07:59:03 -0500 Received: from mail-am6eur05on2129.outbound.protection.outlook.com ([40.107.22.129]:46432 helo=EUR05-AM6-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 1kyDpe-0003fN-48; Sat, 09 Jan 2021 07:59:03 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j7BUpe9nJdpJ0uDN1WDjh8SE+5XIFSF0Gdg40ArnTPWAN4vosI8+oAxv90hJLChHUHeiyZpmn8fmotLsS+ZOZJ+lzgmoFHJA+NHGwKpCz9Xhd1FUu+mHgPsNc66UK2RNXsu3DGm9nOqlZ807AVZM81rafmN+aLNvRwgKOvXeNQhbrKHGLcIKxUEFVb4uNEakiopeNbffKzVFnY/IVpLRpghOBGtWS148JA+KrPcf+pBeU7R+SRVEEGuU2RZJK10Vftd9HiPppKq0MCEWnYAsMuPwDXmaeuweJbVRi6dTIx5/Fb8Qs79+F7zApuKL4xBDoMA0xDLZyNkea9pwW+nI5A== 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=ruW3MvB1R2DDEHV/DdJHcY9oGj/RsSlhNyxfOvw8t9s=; b=RGt3HwmoDqoB/XUoCIyJRUhj3KsQttDorspI3VBZflCfRvU+Xl7ohPMFbjXzTPtF/kHi5l+8PkCyOH2ZQmK5FP0Q8MIIwmmTzU0DUgSdz4XzXdp0DfE00+94F5eWryCkvQz8JXfY0JHip3lXeCcH2kTD5iOhIm1Fv852IZEdoxfiMHiWDljfYCa3VSXLMTGx+IneguslMxQI6kgEJvUqUKWzp+gTcsoP6QOCxwqwZf9oH0Hsp3QkRJOYiJCACBWqtS+Nuu3doLXkAIH45RW0iaSe7V8Er8h2Vb9zm+huKUvxZ5OERzYrYEyVC7WpGaju/X7yIbu727Mul9tZM6ixcg== 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=ruW3MvB1R2DDEHV/DdJHcY9oGj/RsSlhNyxfOvw8t9s=; b=dboxVRGnx8I1eI8TEMlhsSYwNwvLyJHZN0xhxSrW9YbeBHPdZaGVlrHaV14LxNeTHbjBM02fh0Tx+4QgDfbzd5x93J/6LxopzDeKQ60Zj5+lgj2KdNAkYrqambas/Oao8lrou6SDcQoiAX9+Ia1QljApp8V4pNpnllclB1MCcPE= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:52 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:52 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 10/14] block/qcow2-bitmap: return status from qcow2_store_persistent_dirty_bitmaps Date: Sat, 9 Jan 2021 15:58:07 +0300 Message-Id: <20210109125811.209870-11-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7801ee92-7c3f-4366-4fee-08d8b49e50fc X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: Qfq/dYl1EqRkFj0RnX0outnHsQ83rYOVhC+bsYGgeG5bpS3uZ4s7huL19ZIopxTUt59im+slo+hAddRLacQDUJe2JwVSMaZ3P06RMtTK/FizinKZHUq/yEKUV3SG0stHcFVlsbuJaUvyLxNT2IQAaLutRev57r9nCjm5xTM95n6txwQVnSWvumSUgURzOLiGbF3trsrvFLe88obdh7auRkX1VVzd2ugyrrRI5JsmTAx/R0KxVHIpp1gb0RjDLK6GZHGbav8q4qeqemczIhhhq7gQLg4j9zLogT43gYTxwI2niZ/HUbZoHVYrsJFYO5eeGqwiqRALAvrFfGA0I71r7vC2l/gDLmrlAZVsN0WXjurNSe/fuaZiBZznM73tYyAxeO/MB44+Rapj+4GRPowyED1IrGawh1tgbqiPgal98uENuGzLfrVyBPV9ou3usNzf 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(19627235002)(36756003)(6512007)(6486002)(86362001)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: MYxhgXuqd8aymdD1yp2LyGG8KYn5Z9YNJFUtzDUcrMxAURAXe/9OJy+UIdewShv/JKGiBimdPlEnJnj+v0BRx79FlO1oQa5r69UTH5D5cG3vQmkqhDZSoFhyhIeOHe6sNFQtx8BKezoK3rtMBevAOLS5MQMh9gkuG/8Wki+auAao5FhRSBraCWMGvTb2UT3YQDQJPnU8D5QLvNQ3UgsBQpBuuUMOio1xLfrlf/auhH5BD+LwcrDf+59sTLuBlaQsN8jeH3YXX2y2LZNDkNQQVUupv2MJxH6dPLOrNk5QAvaNZ3/AoznV68hIZWXf3d7kPTBbowdkCIUi9Jqe9mQxlWB/b2WyDJSEFoAEBZ8mOugjDyzh6yKUJ6Jcd1wubLbHx2sCfb8z3F3bSAGWIDh6bcidTL4pS8VFbGaFqtP9jdjS86OsL0acdSC+GfCWQ7wzwruYtmbqt6RHDSqKejCeEnlYv5QIHDhjOTzG2ysfqgbUgXS73kQToHfiz/qBZKf0eQOSVSIqE+bnbmutQXeLhOLJj4XmQywOoJJtFzith/IBp/J+O9QnGrOr0jQLfwlT/K8SaHEPIZ+OwkukNoJuDbzgfo3E4IaQMQBh9C2Fr81jSyjgh7gonR3Fqvo4JjXiVdcZsF3aZ2DtBOY8SlhQXM5pk742X+coVMgGjyAG8xvgXILDJwE+b7ncpvLdraa8oons3To4iSOVmm6SZfG88xQB3zLnxMcK2diSpJupVTsXn43nFTgV5kX9u5SyU+ICa92mkS5L9GvUQHzQUu2pjmxxtfjHCDntCyTgOKTpNMxxMMNMILoa6txZbdh6w0JNqN/difz/sSc/1RydWh+kXULYFE159bf5i7sYAF1qlF66XBIoZj9uwqtCrePJR2UEh84MUyh7DuGqCiH0QF24xTKpfYFx0yQbDGhAgwFz0KVuhE1S9SgGnralPZ5lcVMEozoik7CCgSpOE4u410eFbh95fZJvgKTqn7i+E/Wzohxvjp5QH5qF3nr8ql7tzbjV X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:52.8892 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: 7801ee92-7c3f-4366-4fee-08d8b49e50fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zwI2+48nSmyB3FMcwb+ID2QKC8IGlLmg6Rk+tyovh1+ljaTsDfFZh9kMAhQdE40XHokZlNt7FHSuUMELZpY/7QWCM0GYCcGManP4qm5IrpM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.22.129; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-AM6-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" 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 ca01f08bac..9eccaab7f8 100644 --- a/block/qcow2-bitmap.c +++ b/block/qcow2-bitmap.c @@ -1536,9 +1536,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; @@ -1558,7 +1559,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; } } @@ -1673,7 +1674,7 @@ success: } bitmap_list_free(bm_list); - return; + return true; fail: QSIMPLEQ_FOREACH(bm, bm_list, entry) { @@ -1691,16 +1692,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 Sat Jan 9 12:58:08 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: 12008265 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 BA991C433E0 for ; Sat, 9 Jan 2021 13:08:24 +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 5355B23888 for ; Sat, 9 Jan 2021 13:08:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5355B23888 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]:37362 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDyh-0008VJ-FQ for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:08:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55446) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDph-0006b6-HL; Sat, 09 Jan 2021 07:59:05 -0500 Received: from mail-eopbgr60103.outbound.protection.outlook.com ([40.107.6.103]:49158 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 1kyDpf-0003dJ-N0; Sat, 09 Jan 2021 07:59:05 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jFiOS7QY4wme4vQ74wU5EPmxaBzSbfUqVqyrbok7lUh3YnW2p17QKopBoULuiVuJK8L/3jzTstcWzsWgzTTv1qbDgnPAErbBl5o0LHqTpFGv73oJU09vfXeQ+NJgXI/DiFEzM6uJ1kEZOFdqNfxfv5rhQujPx0wPvoFCVcUQCryeq+uG7aPRD9nFKgBbN+lOhwpwZCTQDOBUqpxPCWD9RZkDySm14uUSMKEeOCDMUHMB4Z6WOfnJmRHGJl4kmHT2A1G+o6iUJL43n51wQVYTsbxI0bjVIX7t0gRrUvqeCPNZ19OXvD0T1hSpB2zZUKGEwzIoaQtXN7cYr085UXjgpQ== 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=dQjP1hoZEC1WmtPSrvN+KJ7HEmpHJj1PyvWOpZVxSS0cnrH5FYgjS6GclKkJMvfGttHSbwScgMye7ECcPVEGQPaoCuZaGrHKmgdyvIhR1EHEtpvMiq6VAOD2rJ56hYstgtUQJiDVf2Jwe8nBeXojxfH95349MlwjKoHRg2YKqKvpmcJdcJ0oQRpeKlRaEvWCDpCtwo+q3D/AqdixK6PMYmBfuGx3rI9zauuYMqh4N1k4TfPiNu2Wsf0Hu1KCZHuNGwCuhmZXc3d9BEQOkx1DEf4WC5yBteNdUZfBOGdrHzxwAJSlu2qNEoQX8wWzp76Io3+TEmSDhhhBKn/ePvMU8w== 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=KuPZAqUvvzZWnY+daG+UbHeBWCv8Qzh6anle+FsPUd/VBUWH48n5LLbEgpBCW2IhRBcSun8eFGsJ/vcJ8TveMqbjNluuFsbYsLOmUJGNQ3BiT49asLPEDm6XVv7o1LfqZFdIMZP8oiNQibeMtHJ51u1VUEIRbU1MfdJFbxvct/Y= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:54 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:54 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 11/14] block/qcow2: read_cache_sizes: return status value Date: Sat, 9 Jan 2021 15:58:08 +0300 Message-Id: <20210109125811.209870-12-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 49af73c3-b3db-4548-fb99-08d8b49e51a7 X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: ZUDKCT6DgoHN73XYAE9vZrCs1Ms93IeQ5xOv9qA+O3Q/wETYolE0JQ0HY1We2piHacB7FbVa1spMBkeKYqG+f86W7edQ7Tp9h3jKNN+jllwQ/xLZCs4ChHChnkCA2z/6eIsdvAqeN9cvLgpI7MnSuUUc6r2HST/T2kPuJoiV7s8TNp+mz/gQbdn95yN+RTS+7EZOWP+x6n7wuhPoA7Im95BKK/0T3L6wowuCW1NZar7WHwxORjez+Zh593Cl5lTrRPHvK7zLyVkmAb+CDvGUzyFbCXzb5tDGOgloWmZm6UvFelKHyYf13U/e3NW611Ng9pAYZHRMVEd0uIWLK20FgR0EJPklbrmqIdAgCCDPnbVc2mSM27n+3kI3yeqzevmK/+Q6VMsxkqy0X0cx9tHkBA== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: BvcWWE/Euy1zJ+rrA1skWsqpdsP1KplR+JthFER3NjHx8dKyU1JTCBAUFVszqMcmyP/GbGUloD4vaAD9QGCGLYG2QK2vZtf97YHGsts03+P6tUQuF8egl3byYn2hQTORDIq5fKTG6wp/YLNYElMPLDtHlMqVk1jgiTaSOhlRDr+dcvW/ECfNaLAUyFmSQDnR/Ny3XW3H52YQ2dy8tHVy2xqAKzifvdj+O9LC+grNqYiT3tNPkWssIYj3f1dOJzFazYdHCnsq4VEiVSFEJkLN008UNGCNlPH5f2CnQggMNDaqWDT3l1XNAMDwtowwawNf9zgYlhX+K3CBZsaYS0NvajIEwpfBktn8TLOye3TIX39In5buG3wD6qFNifCMAQiFCZZnKPD+O+fTaO007EtJJevLobUABB2Q6DvPyHKCeFgSjL+oRP7TMkM4JKEFVUMSxFtca7+bn4aV8fmOg874IS7STWgwbysJFvQBwL39/pafrUMFRkuPSI/oAY/dlndaDiuoOnI6Qw5WBQGW1hPYb391FDvt7mNPwQTg0fUbPkWE1nCyN6ywGsWpX6V+XwD+CpGVeSnfdjCt5yKUwNpD1rMyr/ae0tjfbODbi76aRtMKvAazz9p4eJmjNUtflXpZeAv2ZB0jxJN6/rZhmdnUTu/SIQY9smWhVXTyq3u6TIayIsh50B7PTlOaAdf06HBn6uyaN+BxEXZ26Os9hWyuKG5oJwPguLlu0lWWcl3R4At8Ow2LhCNfVAcc6TXJb1gyKIYaf0Gh6cs+8dTz79btggivifxp42OzWPBX6USL4Sr3HgbPmz3HhQw8nAzh0ymNH6Xwoc8wr4JF/vSX6hTIo4FIKvJCv3H8tMP4kM6jmEHs8asUkZ1cIOQHcoYX/cPQ3OaS2ln6vzWWAqJf/OWiGzSzZbvsAQ6y6NWpF64SFgFWJ2kcfPG44Me0XKMFl+9FS7+px2aMEqIN9LDh7XcK41QFhfTtfRfQZTrWVYgqx1Vf11bkOEMAOhV+pPFWbgjs X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:54.0432 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: 49af73c3-b3db-4548-fb99-08d8b49e51a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B34v6DvwNAgafPY0DivFW6+WK3WO1Zti93mQeKvXnGQyl4WF1DjpUswAJGgdFP/t98JXoOkNsPBMClN5kE419uvy6EDbHGrjIVzPXgv2Sn8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.6.103; 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 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 Sat Jan 9 12:58:09 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: 12008269 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 8EB63C433E0 for ; Sat, 9 Jan 2021 13:10:16 +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 EFDA523998 for ; Sat, 9 Jan 2021 13:10:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EFDA523998 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]:42612 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyE0U-0002EW-Vr for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:10:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpi-0006dn-EA; Sat, 09 Jan 2021 07:59:06 -0500 Received: from mail-am6eur05on2129.outbound.protection.outlook.com ([40.107.22.129]:46432 helo=EUR05-AM6-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 1kyDpg-0003fN-Lg; Sat, 09 Jan 2021 07:59:06 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JJ3xoJDT0r7wgGZ/o7hLBY8+yyMOVHZ6sFQdn3vvqftTJQls+l6eLlfqmiZKrsOzBhb10sHqrgO2Jh/C7bmWQA1oaGcIBPkqmcNsnPdpad4gJAGIJAC0h3NbuGUiSbRNVgpQQ203pLKLdACupKpagesbeIJcj8k231+7tqRDwnTPiSqFqte8npyujNVAbCTfgIfgkjyqdn/nJWxR92P1XWwMU7mwCOpijIQuLda+4qyGAVao3VDYlg9UzVSS8YrrjLZTcm4golBU/dcC1d86LBersviCMwpYC2Y+x+Qldx6oBlJFgJYb4+BJoB6w+3yu7/eImUkKHkLRByWVmkXqKg== 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=d5IrgpDvP13smLYPoLtxlFwe69V132IKER+H4sPdbzu1UhINaPvIqnpkTIbN/wjM8sn4uKSrhA/wXLLg84TVlaMaLXvvs4O2fILmtay+hS7Lyc0LCqY5IJJk2rCKnYoUelj+94UU0D7+fHcFfZbQ+GNmHd9FWvt3I+VHBmxbZAbUYGPc7pL/hBieLURJFAUxI9g5xXgeC55lUS4WO7eK+cg84X7kYKyUx/FGwVen5c9gSvU/yE5+XjgcsG9E7cvF/cqv5g724XNtcmPR5udYCgqDZCm0jUGLeu/nLu9S2WF/F/Lz1N1TttDtmLqvbzZysUrnhbnn+/QxyeIbZq2fvQ== 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=WDwn28sv/Pcg9C/cumkMYAUVo1D3sW7mGOPSKtvo7uP/hTg0H1YXgA5zTsXbB2+2wXxzPuFbYBMStXVZGQcYTIrCxiy9EZBzR9yOJ+eWBB2lVf838NGOC9ChxhTDbsKGUYRG7kem0kJOFRRmJzFZC07iVGpi5fVf50LCVSS8X28= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:55 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:55 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 12/14] block/qcow2: simplify qcow2_co_invalidate_cache() Date: Sat, 9 Jan 2021 15:58:09 +0300 Message-Id: <20210109125811.209870-13-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:54 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 43bd7bc1-abfa-4652-397b-08d8b49e525d X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: TrTVJq/zwhKeQIK3bIzmzKNRYxIR94LweFzpbMUGmZsQcZqnMBauKmNSIiyJeEU8kpUSn9y9Qcw42tBsTAm5PznJ3ZBOKuXS2dkj++ZWo5J1UrjZ8CEDPzBypiLgo3m1XbzBRCHe0y/wZwThEgNagYE94Vh+6m/TbgM+DokvqCl+KcGqZksY1/siygC3DHCMp7RMWfem3YLJ0VoWJvyuLXSl3Wb/BAL0WbnwdmHJVTbFkQTfpLTkW+mlZ+l/gH1n1ZBlyNI90ueUvRsmnm2aptihrWBL8nnNlP+/3mWnP0s5afgVcA19IQqss5EPFVBXf5XTc9PCkp51Thcz8AujaYy/YRGpC/zJhWsXGcfaOD2L+VHbcd7I4XAqQjpVGv36gbwoZDU77Gv23JhE/UPnVw== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: cR+mpwC+Mb1d8rgzC0RlrUgBkGuKF6hwkgpZXWrTWtmM9OFmYanc9YI/NFdeD0xqTFHWdBosK/iUD4dlvYEBTyBbd7qwAsiww0at2aOKDc7hfpWg9mLeDlRv/8ZR1/4jDjyztvzBN3hz4BOzDF3PPrtAgjkRmV+6hs0HfqjlRBTxS+3eJ4iE1R0mqsYLvS4J6TD115LNAE/BmvgkD4/EWBQNd9vPRZPZ/Sm1pTGeJRupjh1ZJFZB4bUU1f7tFMr7wexMms4BEM2QStBZG3dZVicH4KiuSPZouPxZT3xn8pclKOJlo5yNPbcz0bI6eoIl15Z4DsL5KM5/jmxXRpjfJ86nQJBoZBpkU1iWzS81lad8eO5A1b++2IL7TVrSosUm9mqurL23oXue4KHKPN1v81wFbTAdT42J2lJ1UM9XlApany4JX1F+OuUCK1Z6h4YhCh9sr9QBvzn52QIwmjrDG+6kqyk3PST8aJqMEqHoLtCLd0GhRnJPpw6FIk1D7ECGDl3cYB9TAlvFS6cRCQprWrOMGNAv+NNtvrpTmKfWuLYf5mVwuDsz0zgR3UOACEx6P+yNzG6RDyzoNjGQrC+mIeOi5VVWy7PHz6d/IHcckguaE6tU1JQ9CILhF9Keo/hrpxvgEiOWwgQfR+eBs1k5wsmbKzRUJ7aoXhxVLv1cXP6us0lJUVOxuJC834Co6grGPI0UpZRT+PAuZi4nG2l8n6h7gIHbgXZef14YGWbRSYUMOrMP7FHSheLIACFSfzViIH2P0zPlV7z4w/8EMx/Zbz+wQDIpETS3t413v33m9FKIPrA2iObgDHn/3KvkHuLshLYEGu6oJTJpQkyiOM4++foq9jF4Jkn8NkWlW9rFUGAxK15Bf87zjAW7QhZszyq3IslFpg+w/aMtWNOVns9+bNE+kYbe5kfzINWNt5xBIGIWmsLnEAXI+vM0PmTf9FIbBEGeKVyR1KoEM+67w7Vz93sN8OcVv8rhEmvdaiPkt4D94/KWh83HhSGvkEdtmHwf X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:55.1862 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: 43bd7bc1-abfa-4652-397b-08d8b49e525d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Zz3CPB+49E31Yc1rXuxCljFDsLHk6ULi0K2q8zK8WuzXZSr4bJ3iamJOqDmixtZyT6h6dpIw3cqN8XgLxbGNl99xRrxaNBkUBdKyZld0Ffw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.22.129; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-AM6-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" 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 Sat Jan 9 12:58:10 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: 12008259 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 C80D4C433E6 for ; Sat, 9 Jan 2021 13:05:39 +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 4FA2E23888 for ; Sat, 9 Jan 2021 13:05:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4FA2E23888 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]:57058 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyDw2-0004c5-FN for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:05:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55476) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpk-0006ib-56; Sat, 09 Jan 2021 07:59:08 -0500 Received: from mail-eopbgr60103.outbound.protection.outlook.com ([40.107.6.103]:49158 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 1kyDpi-0003dJ-33; Sat, 09 Jan 2021 07:59:07 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dopjuMw22/mr0wP9mZFaSxrBZz1nGyaynTHVsmp5ExfC226StPtp0xwM9eTYkjfcVN6TFIthoDt8F0DFYVdQurqPivB2F+EiJ8JgU2v7tP8wbuRy0jBvFjlGWczJPDd4SixMGPHYyyyQ8OXrin7g7TQgfO5lCe6es75CleJqrXIj4U6SdOapuENJbRoo8nNEe8FDgcnECvq4TJSbt1PtHLl9uJ0a/eMffT68XaNJHeVBPE3H0WbnyaD8RMpuYjjrVoIs0kTzuSQjRjeruCgpzIJg7RkVpj2KFqRREPfZDw81Mhgyw76UjLy/G4RG4FOnD9RZ2MHMEHaH4uJy0rnlIQ== 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=SS8CV0zKdp3s+u4HL5P8MOFcqlLnvhiE+MvF1XffGBaJOj4LTZnFOuICmXYqjvZYc/NcGIPFN/CH3cUElOeoZ2wNPas1pQvAr0A09Y2H5+mxFufCZ2aXEcBx9KEo4Gy0ZTX5e2h/gm93pHXn5Fu2l/nx+c43WBgNifocjllKFOhDL9aLkFShVs/QXimMasj0s/DSeoClOQ9JTHcvMhN/QrWmypjvkoLWN521cVFS+NhZqGkThHIP511Gl4hNgCbEyWdnnpIco+Vr87fuRI2dlUZ8Hh7SYHPD8xfErMyv86xJ/NVSGLeJZVUFogV/uEsYz2HCqwqchzKIoaqx0k/4sw== 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=RESzDbpc8hkj4HSFiJazUt2x/LqNF5Wa00RsJrutH1nUghDUfMFSL4xPvPgSLibB1A46roUJHSyXNRPIi59pg9PG1+ALgVrP9sKnSzKEfet4g26mPLu1QWcD1XyK0sRPSn/PR1LuYikzaqothFwgkIDT68xHNqplfY33ldofpEE= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:56 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:56 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 13/14] block/qed: bdrv_qed_do_open: deal with errp Date: Sat, 9 Jan 2021 15:58:10 +0300 Message-Id: <20210109125811.209870-14-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:55 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fbd23eb6-d9c3-403c-fecd-08d8b49e5300 X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: GWf7xQ4rhC0PV6OQVV4rZ1NRerPuo5SXyHxWrFs2IiK0hp9kn8rvfqkKhOKqQfOO5+u92DHVfE9uwS1mWNuENwhTg/loAlfMseqmh4ITzQ91O2L2o6rY10YE4eqm3A3cpa9EeA/Vb+7fGXJjDLqBwCicFXn4g6EIHO/m5kpAIWYB3GPTlbLiMgkgybdAhGIFtyLANvMe0GFcDBMUv29Gu39ojy2mvhofIBG6JpEk2TLBEn314XQDOidX1/l7uq0YNdJvZAfQbaqTqKXb0bnnhzfbEW5Iju4V5MjHIoggv0kFAES4nhHpWhm2pDMO7Rcz3ehySYGxr7FYXUdCI2RMgcSj0bwDh6LeZXBTniPXxHuu+0NHRk1Md5WaLRulS8DrWh0yZ/gTU0TByPASVNMnlQ== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: cVH6wnI8HWSrZpY2RVfjR4gFjBrXyZ9ACRw8hAHMgsuhF88RJ2da68+bbUShWruE0dCEWX+cgXVVflUMnvQey4vNbetlolROzI5NmCNucpYwTb9A13ycSbJUu+pnzE2P1Pue+TqMxEk9H4YUVBTWgEYHxuoxF8E6nnc01auxl5I6EEmz+ev75RdMQk0GxuYhwJ9CYhgd1UF1QeGlPSnOte9m5DQOobpBrLeNzeRKc1ZiJim6Ty+uvFAWpsHJz/4RXQFUSHgb2ythUnK9Inh3vGlQ8sZLs8Txhefd5cRtsinabSxbspLg1y4Y3+P0tppPUJ+kloV3YnAFJ8AMtiF+DBz/TkU6V7noADoZj3W5fdDwHxDEBTHyrtYoEsJbQQ+zkJfRuI9eyXbQhXSPlB/ay0JavtCBrB/dAHwWIOdkbHd12v+uVNoDsRVR6gYKZFUUAOxLjc+Vagvw3f60+Dcwll6mns11YBQ/9p3+yxSP2XzuGVCed+hwu1N12SGj8q0KU40Ap/lBLRAkx9dMGOCy8Fvd3XAQwkuzmYkqKo1O4QQJrFriekMtgSJKOUkmL12L+FdnRZaAkwjpicjr1DoUvNeFI8qD+CLHYh9xeX+kwDc6GbaNT3T8yA9pUxTzxN+YqYgOG2UvCwrGDOYQs810EGyYqxcb+d1DfVGeyysjjxZx+edcX3DM2sUDMVjDTNciC5JNiqkplrtb1socUbMz4t7Q060Mh1np4hVn3ZPD5qQ32KSA1w8uZikioHfEaW4v3/dfNC1R/GxPBhoZU5LVpcpqSGeJN4fp/n0bvUTm3xUyBzY5bOotasR6at+rYOobrQmZ6wZ1fYt7WYYFeylzRPV3o1p0FShChOkMK+CS3ihn6Y5LdC/lkPw6aPoxn3wEKhLeSefDKs332ZzLnewMcr3ojoXZ244eo/Mr9wVbNQDyEEey0uwm35F7hj7rG9o385pjWX7hkDfy8TLuqBaiaM/CZcKH4a63p08mgn3Jy1xAr9iLXg/iEuf9YW1sODar X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:56.3023 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: fbd23eb6-d9c3-403c-fecd-08d8b49e5300 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Pa7iUEdBHgan/GIM4qsfwrwtmH4O+6UpZKaTLBRgpe7G2eb82tAME/iGVlB5cxzwJGMTOc5NlqJPqjTxgl7++/c6c2oEANHjyy1Wl67uwNk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.6.103; 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 Sat Jan 9 12:58:11 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: 12008273 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 CE1C7C433DB for ; Sat, 9 Jan 2021 13:18: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 4037423998 for ; Sat, 9 Jan 2021 13:18:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4037423998 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]:49458 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kyE8E-0005ZM-81 for qemu-devel@archiver.kernel.org; Sat, 09 Jan 2021 08:18:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55478) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kyDpk-0006kT-NK; Sat, 09 Jan 2021 07:59:08 -0500 Received: from mail-am6eur05on2129.outbound.protection.outlook.com ([40.107.22.129]:46432 helo=EUR05-AM6-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 1kyDpj-0003fN-30; Sat, 09 Jan 2021 07:59:08 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YDCFK2L4OfD149lbXxSVgAd+hQ2iazAfv9L/r1IZ/RFfk8PnlizjAT2CEdgMwKw019TQlVrfbn957tHFk1wClPqohRlsXJyQFBFNIQVm9M2+ftaca1SFNl5HMQG0GIlmgARaijqCJEmChYAzEskUKTpvDweQnmUg7wP9lnhzQG+9QMLdLpclvkEqR86F27oSKNIaV1On2Ej91dMTOQH/+gOUXm1gMCqjcItRAA/p3uD0msxGK+ofpW5QZonAxvOSYpC7zWRrzdGAN4KX/HqZL6KdRRcOBjjpJBIFRpEoC4mNN/q426Rcu+480yz9cjhyMSfLWI4sVxLxtSkZ+/WukA== 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=yOQ1n15CcLFovwO48l7ZtnH79uFXHXo3GiY0wq61Ka0=; b=WJQ6CweUvv1ADK/ikCUn7WEQquwP5V3rB66oQPmKlmF/65jg5JSM8OTYX5TW6gb/IYqlT3L1jvoQU5glz937X0EMNicK4UA+qSPfpDgDHdPW2sNiO/lOVXQN0PEJk+LZHKMxw9i+fAGx+PqsqdoQ/37ag1GyMsld0jmm8LztEuBsX+sDBDwHin8jAg27gF+kX/c5BXPxKlXT5YI8N+81vJAiaId5e6aPxfu4u6FiVTRgd3ov5Nl3XvxACTByDLz7EGYIvcy/TIV3oF77GD//4jCyZfkX8Cm/TL1UvMxObEy4I4OHcqEQtELuMTW14aYcqCiaz4yYKVzh2yoDJM7UkA== 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=yOQ1n15CcLFovwO48l7ZtnH79uFXHXo3GiY0wq61Ka0=; b=sFcTzUTkiMxuaj1yMeh1QGGDwTr1pUxFr33ILps3NSXG3IFXDNZF3qLyVLpg/jYlSBr1nxIowKAxzpvmyXuBz+XYMyKaS1Jj7gTwPFtKjq34AMy9B/T6JY59yZa6CfOmeGOZ44AH9eOLHj3lyhcE3H6zFsRpaGQs0cXgGrwlirE= 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 AM5PR0802MB2418.eurprd08.prod.outlook.com (2603:10a6:203:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Sat, 9 Jan 2021 12:58:57 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::214a:3545:368c:7ae8%7]) with mapi id 15.20.3742.011; Sat, 9 Jan 2021 12:58:57 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v5 14/14] block/qcow2: refactor qcow2_update_options_prepare error paths Date: Sat, 9 Jan 2021 15:58:11 +0300 Message-Id: <20210109125811.209870-15-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210109125811.209870-1-vsementsov@virtuozzo.com> References: <20210109125811.209870-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.119] X-ClientProxiedBy: AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) 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.119) by AM0PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:208:1::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Sat, 9 Jan 2021 12:58:56 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0c56a4b9-b56f-4a04-ebe4-08d8b49e53bc X-MS-TrafficTypeDiagnostic: AM5PR0802MB2418: 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: 6HWI+szJ3PfrErlYI2mDF9ofdR8vu/67bGQL5NeH+51fRn1eeUQ66j8P69U4Eju29yq0Zbg0YwJTjw3JoTGiD8LFnHWMlQOGRfAiJg6t6SltmM8ReH9nmRUKWdfLDcaDv0hedWu5KBqn31hWLbk6oXiXHgiQhierGg86l2P8jJbGcFpYsdusgHvSaUCSTcekT6S0rihXGZq2G5kQWmuzRD9D4P6daIee5DCt7ZVhJVcJ6kItNABgvPhqmWnPM6ZrNKyzZfznMDIlKakyqayCo09O6zNJhfM+u4t8m2HuAkcxWYStFpdIIV6jVkbHVHzG+ioGO0Nde/FnlELACBbETdtXCcaXwKpizPeINDXvGBBVSYf7oJFnZlo/u5TPypGSarf05MgVwYx6xyowdyYpKA== 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)(136003)(346002)(396003)(376002)(39840400004)(956004)(2616005)(66946007)(478600001)(8676002)(5660300002)(66476007)(66556008)(6916009)(83380400001)(52116002)(2906002)(6666004)(8936002)(1076003)(6506007)(316002)(26005)(4326008)(186003)(16526019)(7416002)(36756003)(6512007)(6486002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: EXyF+7gU8dh3McFyewZKWStvHirWCyaOwCilUMDrEpWlCxW4do4cb2KXrXianYn7MzroiN1zj5Tu43BjIQeQXyPUX/0O0ROEsqZ8k4a725bh4A1qNtMO2LFxOsVKsj73D39LnzQMwpRuvOYXJcgq4e8o6arWzvYHceHr8iljjNPMXcH0W6VfsBK0AEFD+NG1vzaBAXw0jG0LvqPR4pQWAWAIcdC6KTl635hySBu6bADlEQ+u1qL9OC+GcDFVIrW7fChxliFkwKjmV+jmImazXubRaoKT1fQr5Ct0JJUURGY/M8qYNeyQBnRifn89uPTzxwS9ow9+dpyNkr36y0wOy1L0fK9zgW5Dd3nhsTowGENO4yunc9uYxA40gPys2jncWdDOyEOfGlVyUg3Sr3LFP0YCB5uCjLKxY7AWC3SBCHBkSeOZDBnZdGZidmkJWG4jYJmPg8tnC8YQqt5KU6dfJexvfwys2UCe+kO2nYIoe1GEBTL166bbe5/WZGOcSseucr7Gny3ATNrtQKzBNEJCY2tlYIl/w+s8gr2Z/3CmwYC1nod2gtI8AyLTkARTc9Yx6+iOLs559fznxQ+hJI93DhJgXbUSse98ML4Yv6m1YWKz/+Px5ZANrDNNaTt5VxroOs8hEZjO5T8Xa/qoiQ6CzFMIENbmhsZY5IxXE6odSy2jj5gbz9zzNYnogXIJZ2rk/dg3TGOH9IICWI2X69PcQmXt1GdxAM5lvDcpmgpe44HAl091/vQ3eivUafTkyqFTFto7jSZcRB4gaOYLxHNnUYMUv3M4wExC1CR6W7KSffLG9G6C0ZrQy6rp2caFSpFhV82MAxh2usy61yhzDhJKx9CyAskhjag8wSyEnlFXVAoZU80krF3tQXYgo0Sspw61CXvTUNDa1EWwjEouN8sO0xJ3XwF6rMx2BDMUv2v8FOmv6w3xMoqcrCkPyjXPgCSBcckklGeUSSqcTK692w8H0nJb59K323nG1RUtjkY+crGScYNApC1dWYATnCFNzvxy X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2021 12:58:57.4652 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-Network-Message-Id: 0c56a4b9-b56f-4a04-ebe4-08d8b49e53bc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qdjSKL8GhINCfevQxq8QtSdGxKiEGqtHyeMgTA8CSruhmZBNVWP9bvvRUDouhOv9fsX7qk5T/PlbSZ85FJO9J7+ZWXCY71SfkYw7byJvLtc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2418 Received-SPF: pass client-ip=40.107.22.129; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-AM6-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, 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; }