From patchwork Tue May 4 09:45: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: 1473704 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.a=rsa-sha256 header.s=selector2 header.b=FifmVNFn; dkim-atps=neutral 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 ozlabs.org (Postfix) with ESMTPS id 4FZFPN0J9Sz9sV5 for ; Tue, 4 May 2021 19:47:19 +1000 (AEST) Received: from localhost ([::1]:35926 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldre8-0007hX-6n for incoming@patchwork.ozlabs.org; Tue, 04 May 2021 05:47:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51414) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldrd0-0007QK-41; Tue, 04 May 2021 05:46:06 -0400 Received: from mail-vi1eur05on2137.outbound.protection.outlook.com ([40.107.21.137]:63329 helo=EUR05-VI1-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 1ldrcv-0001jr-JM; Tue, 04 May 2021 05:46:05 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mpiAor4gne1R3Oz1QPGnTsEOTYO9ka3i0Jm0X3Zz43aTE5HAoUmxuB6beNllWgwotEasEYu5NhCHIQPFEVFdGB0tpjSGl4LnB1KuFL+Q79/yz9i9sAThJOuaXSSTInBu9x+MyilnsqRBksq+M+f9IfFzxJPyJOIwxnBrbRZf3x2F3HEk+mxr9NM9DjnTRVDgAmM+HNv+Zj8uPlMLtq22yJbYKcBFmnKaRYRhPIaqjtbeZo7PM26LyXVlJo0o2hmxJ+2+uIJuFLIkArjZwHSYlXefe0O7CQI56mikjMHLb9LSQUwBXrSxR7PZbTHSgoKnJqJp2v/TAT5aA0kFZKdg+w== 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=0IrSJAcH+pqt2aZWAHJQINU4Rl6ephvHojeX+7yt+vo=; b=P5A9fHKsmptUTdisHHM+ofIKJFKvIRdvuRG6UTCRenEXjKRtiUjOM0Hayu7u56zksSPsWaDi/SyDgRnIlvTJm/83Vx6Wwy79+VB0KHNF27HuwVOzkP91gPJoGuFCwIFkyYr3q8yT+O5lWXdFEQMGD+JP/e+GZKyRamtNS5I+gV6NhiRlwozpateWhqVwA+WEDpjdJz1722BoPrWs5qyHjJvWWM0K7yP8S2d2kNCVlTKBo1db7a+smfdKMdlyM/xHhCMNxsukUEWwgxeI8T+hnO8poTbafOPciBGfzvIMHS0U5QSANvE7830MsFO311czR8St6EvpgLT8HkIVnn+6dg== 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=0IrSJAcH+pqt2aZWAHJQINU4Rl6ephvHojeX+7yt+vo=; b=FifmVNFnpONGAssZaFP7bIVtH4mJbtgPpwP5oP74excT4TQIRvZoyYAQ9eivke5zmgJRQnSNXwwl+Inr1BGL6jZooqwYwgDzW3FcPfwE/IU00aKhevUrLlBF13z6P5SEmqikj2sI/J07zErztUIQqt6rQIx9ot6y0t7svgkCOzU= 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 AS8PR08MB6152.eurprd08.prod.outlook.com (2603:10a6:20b:298::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.35; Tue, 4 May 2021 09:45:25 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.024; Tue, 4 May 2021 09:45:25 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com Subject: [PATCH v2 1/5] block: document child argument of bdrv_attach_child_common() Date: Tue, 4 May 2021 12:45:06 +0300 Message-Id: <20210504094510.25032-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210504094510.25032-1-vsementsov@virtuozzo.com> References: <20210504094510.25032-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.251] X-ClientProxiedBy: HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.251) by HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24 via Frontend Transport; Tue, 4 May 2021 09:45:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f333c3a-c78d-4375-ee0f-08d90ee157ed X-MS-TrafficTypeDiagnostic: AS8PR08MB6152: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fFcv6oDK0zOHwvdCrYcIuTbrVOfKg0nHARyP/kegy0yVtGOeOE++6Iu1VUA35qF5aEr4SOIUrnMYERyZ7h07LVR50tv8/PAP+ZBn+zv24lWWP9nrjC0P2E4sIuFKtphKhyW3FLh1QMC/9Mt9r4DN9Zx8LbhCmQPUlcLyt8jHYRols5NU5kLbkPNDtr29uRzp9A0LrbpLcrHKVC7qdIZWzHiiXEsaOSRyfUaIDQTra2MmqbuGmYtkPBXjH4WwTj5Lo/W9Z1rDOLg7WvzwpdlrqVm3pJc8RxsjNaKRnc7klw9XIL5wRnoGoZygstNlZ8aHwsUjOk0oCQfjT9Hch3Qo0idekthj9/P7bSCaTljM026tu2khpjrH1cVsYn1U6695NYNuxQvysASG02KlAtMfszOGuCLGEM0gCSDoDoVBQASLFNiLRoVESKnT0K2uk8+QSL3BG40ltFZYuSBfiJb13EO0rkEYC3qTTwRFgm+FcNC9RUvpnnRUcKc3HNsKXK61SzkfzArEMnIZ8Gddm0QVSYKtIsmiqHzE1RsSWmFzvHx09pKmMsSSyeQ2GZFwkAUfFkSMxZJAXzNvlPpL3W+tjzR8XbnGnhocwZkOcCn82eI9V7A7aBoh4er4sy+e3I+EW6NcFAbblLFFdT6cwO2MB88SOu97o9yGDHBhzT1L7/TFVWXiIvxkCO2JUY80Mqoy 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)(39840400004)(346002)(376002)(396003)(366004)(136003)(6512007)(52116002)(2616005)(4326008)(8936002)(2906002)(86362001)(6506007)(5660300002)(6486002)(38100700002)(38350700002)(316002)(956004)(478600001)(16526019)(186003)(6916009)(8676002)(1076003)(66556008)(6666004)(66476007)(66946007)(83380400001)(36756003)(26005)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: HoplVySTGy7JOKvz82ZMa06c0/Ak2Fu5tXRX6n5BXoEk4W+rLaWkCa3qcDtETjTNAcVKn7Ul0cbTWiw4GHjzhtUdJGqOLms6urAT2aNRQsyLwiv3sWiVkoxv1kGtVs7/NqG52+39nxOjuWmAV51mO3Q62LnafeRDbQWmIMj3J+7HQNo97e8Ng0vWgiac5HkUSAuKymtsa6QQJRV2FPs+9rGKu2OzIJ6BCgR/UeUfdhGXUn0F1gMMK17UewbEn0yT2+mdNk4f2tF5eiryTGZ4HmsqSrHL5NaeFMXtu/neHMe3vkkCyqYuitM8FzqEd1IT9kbrhoZrLxahq/ugqKgB7TPKu8EH3hM9Y1cAn4dPc0ji2ebCTtr00nZF6PipafLWKkW68Tar9UBsEZSPlF1JJlZNYRv85fYEVVd8peATN1NOMS4A04gW+N7Ju/xP9jpKfJ6DdfjuvZ+0gRVjPBtnQGwgiSrL7gLU0Zr5OkWhheOuvvSE46v4SqjT0EmSlnH7M1IPKCzCgT8TirNSrUVPSqmd6Ftg/r4+c5GG0KPoAHIInPF/6BKwLrf4mlTU7oS6RYGAtQtDeHolYEXNiKWlI+ynVAKchh0qEDcv+neVA/GGkKH8Nl484wHeDQlgEG2p9F+pqJ69h7ogxCm2FvjuqqaML6pzHu4WecLbXHqSlD9fAUW3S9K7hP0UNhBm82afPW3jIOilSxeFnQnBqbSJWB5Pj4Wv6VowBIjXGQRYZB2XZ2C7KsbnpCeSr1iBgVDxWhc7V13szV45Yi82nwLPifW2gmPSIz1GtkGc1G7e4ToLK9phwyf+byRPhQTT6zSsbFNLe99EZ0oEv6H8rms23DOD+tL4mComiNmAXv69hEIvc0faOrbo5rLVmYE+VdspLrIkM8p/2s0He4ZOntVBGHE5bVRcPzk9ozqtre81PMPR5mus05MO25jpTSHWEcugWoPXZXVZ4jDupTYKDWgfXg6R05fQVfOHdvk17fW4ZoxJ9W4h70meleQJHvjQ9n24r95UuYLSVTuOn+ikwoHC0m4umgwzfa+nVB+TkxL0Kog5Cc2GOvctSQkdIJ74bf/vt/+qnx4pHZaN7BSKji0wXx6KkwmC73PIgaL25vwuorSm5ViVVdHawYcosByqOXoBDN3cV0S7DMIie2MpGEMCS2JCnJgEysj80OZ3q4/wzDP4qt7Ro183rsis5e4mXmAEt5ONaDyeRNTeQXrFFTtnD1PS9AqUP8b7gNajrkphEcal8IyCrDYF+MQPefc4R7jG1Xpel75fG3kv5eKePCtMkPeBtrr5k9KtKCaV2pT6k3OZRdlK5wnKoJJY4QpOX7MD X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f333c3a-c78d-4375-ee0f-08d90ee157ed X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2021 09:45:25.6631 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ACgWiE2NyiCQ6XQAlJVIB+ylmboIHBl0MiJhePVQKSUdCZUMiiFiV1o+6jQipGXieL+8xaP6AVaRxCMOoQIt2AQ7Rw6paeF/THFIQRhKpYM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6152 Received-SPF: pass client-ip=40.107.21.137; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-VI1-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: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The logic around **child is not obvious: this reference is used not only to return resulting child, but also to rollback NULL value on transaction abort. So, let's add documentation and some assertions. While being here, drop extra declaration of bdrv_attach_child_noperm(). Signed-off-by: Vladimir Sementsov-Ogievskiy --- block.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/block.c b/block.c index 69615fabd1..b9df90d61d 100644 --- a/block.c +++ b/block.c @@ -85,14 +85,6 @@ static BlockDriverState *bdrv_open_inherit(const char *filename, static void bdrv_replace_child_noperm(BdrvChild *child, BlockDriverState *new_bs); -static int bdrv_attach_child_noperm(BlockDriverState *parent_bs, - BlockDriverState *child_bs, - const char *child_name, - const BdrvChildClass *child_class, - BdrvChildRole child_role, - BdrvChild **child, - Transaction *tran, - Error **errp); static void bdrv_remove_filter_or_cow_child(BlockDriverState *bs, Transaction *tran); @@ -2762,6 +2754,12 @@ static TransactionActionDrv bdrv_attach_child_common_drv = { /* * Common part of attaching bdrv child to bs or to blk or to job + * + * Resulting new child is returned through @child. + * At start *@child must be NULL. + * @child is saved to a new entry of @tran, so that *@child could be reverted to + * NULL on abort(). So referenced variable must live at least until transaction + * end. */ static int bdrv_attach_child_common(BlockDriverState *child_bs, const char *child_name, @@ -2836,6 +2834,10 @@ static int bdrv_attach_child_common(BlockDriverState *child_bs, return 0; } +/* + * Variable referenced by @child must live at least until transaction end. + * (see bdrv_attach_child_common() doc for details) + */ static int bdrv_attach_child_noperm(BlockDriverState *parent_bs, BlockDriverState *child_bs, const char *child_name, @@ -2918,7 +2920,6 @@ BdrvChild *bdrv_root_attach_child(BlockDriverState *child_bs, child_role, perm, shared_perm, opaque, &child, tran, errp); if (ret < 0) { - assert(child == NULL); goto out; } @@ -2926,6 +2927,9 @@ BdrvChild *bdrv_root_attach_child(BlockDriverState *child_bs, out: tran_finalize(tran, ret); + /* child is unset on failure by bdrv_attach_child_common_abort() */ + assert((ret < 0) == !child); + bdrv_unref(child_bs); return child; } @@ -2965,6 +2969,8 @@ BdrvChild *bdrv_attach_child(BlockDriverState *parent_bs, out: tran_finalize(tran, ret); + /* child is unset on failure by bdrv_attach_child_common_abort() */ + assert((ret < 0) == !child); bdrv_unref(child_bs); From patchwork Tue May 4 09:45: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: 1473705 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.a=rsa-sha256 header.s=selector2 header.b=iR1IVjgx; dkim-atps=neutral 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 ozlabs.org (Postfix) with ESMTPS id 4FZFR55Nnsz9sRR for ; Tue, 4 May 2021 19:48:49 +1000 (AEST) Received: from localhost ([::1]:41850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldrfb-0001hW-GF for incoming@patchwork.ozlabs.org; Tue, 04 May 2021 05:48:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51442) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldrd5-0007So-QX; Tue, 04 May 2021 05:46:13 -0400 Received: from mail-vi1eur05on2137.outbound.protection.outlook.com ([40.107.21.137]:63329 helo=EUR05-VI1-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 1ldrd1-0001jr-BS; Tue, 04 May 2021 05:46:09 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IfI/O5s2/UlINwM7FCG3vXRJSIPcEwioe+hA67XmO0CO+lEma0Ju8oWbD0OM0EAhNeRNbuFbbHVOYImUnC1gm371EKoKhpSi2mx7vGyG8YC+TWBgzVEzFy6dyt2xWP8vybzr6+9mDyH7hcmOu5/BzQkLCl2BR5SYLzYp/aZH8mlCka3jEhgRDH9GJbZf9jLW1KS6M6ypcDlCkyhqoTJAwHBYQv1QaM+FeN6r1Vuy3bK2bgdMZwFhxNExJAWkS/HdXEyqxTjuYJNeMNNn342vG4qm6zPIScUowXRNn8OpT7DS7RSzn+yfiC4TlG2VhgaawLtPfQxR9DBQvfCnmzTrPg== 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=YSN/kJlrkZVbL67g+PWHPKfNTKWkIBebr4QNs1KP4aI=; b=PSWQ7VEtEVsIslgGEegIHGSOAqkHcMZzHFrOJ64YGNebC9w41rh+P8rfzO0JNBhLzz1gj+nuLY0V6tL1GEq7DrWWiRt59+SgplOfgxuHpXC1w7nS34Gwaau0x8DL4DAbcrKMY5iTx3DjsLrrvkbaWixuyfYEwJQuXQWLMZgwwriiIJRe4liZGnilbTxaQYaQoUHk4uV1GqZyKOuGQfpMUTc0ZfFpsyYhDTNsXoPfuHvUhFAKqtwj+AadG4QZSjpF10dvurVfg3qtK2nk0BkvTvIFAdxUCaoO4TwFEVa1IzxiZ6I8//iBUgq5KspSvctJFVysuvW3rLk4++4dZZ2YWA== 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=YSN/kJlrkZVbL67g+PWHPKfNTKWkIBebr4QNs1KP4aI=; b=iR1IVjgxJPELlAV6J4F6qG6FZfl7hGLCsOB2lG2UJTTNMX0oKjPACh1xyIpO7/S2loGKul46P8IQrw1ZK7RjWD8QcBOgSUYBrKk923RqdvK02lgiVPS6EfDhVbUPlKi9uaq8sjtGsjyO9KXhbgcKZaT/6uOt5cwodniX5a9vI5w= 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 AS8PR08MB6152.eurprd08.prod.outlook.com (2603:10a6:20b:298::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.35; Tue, 4 May 2021 09:45:26 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.024; Tue, 4 May 2021 09:45:26 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com Subject: [PATCH v2 2/5] block-backend: improve blk_root_get_parent_desc() Date: Tue, 4 May 2021 12:45:07 +0300 Message-Id: <20210504094510.25032-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210504094510.25032-1-vsementsov@virtuozzo.com> References: <20210504094510.25032-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.251] X-ClientProxiedBy: HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.251) by HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24 via Frontend Transport; Tue, 4 May 2021 09:45:25 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0e1104eb-64ed-43fc-91f5-08d90ee15877 X-MS-TrafficTypeDiagnostic: AS8PR08MB6152: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:334; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: r24/Tc23+WUR8gAV0IZfh3hmTjB2w957dPgDAiviYkxU2cmFrsuYDUYvVSndvoXEiyAe4Cf5eLpqYGgtLrx6LjfW4T4EEzuxfqoC+zV8JUouFM7ydN0sI+mhaeXJ3Hwg2ZAd8wY3LhMBXwAXg40pSOT7vZNr3MG5bPlDnYBlIfbtymwA74RURFxtvglSlEPQm19I0BEMyWigvDE03T5sehJfYYEkvP1TTrmvubF1NpuTIfUrzpwGjWgVAS3Cn2spev2aGdfyGwPMOS08jU8l626oCN7ieoVgxjRnsoTKYpgmQ2Y6112FyOlmFPWQqkibhnkLezef+ImLLKgEyvYQQiFXbj0HPJXQRrCrRV7M1SN/zJKG6SiY2WZ520rr1ZDWtZKNlYrSp7fyAVqUwJQUxdRsZJe4VrbBjIvbKVfGYTmrejnh25BI3GUWw7Swm6w9OfnBhKRpw16J8T77leospSxMTf1BRVEKaz2xXFO93YG92Jfqasm4kPAWFC0s6pa3BBiKmgxeXmVWopVs2+Np/wHn6R2PX0ROknPHmf5igOFx3hLJb8pxTn7t54Tdh8rFMeoD2+0k/6vc43n75oDesaqiA7zCQLv4bRagp5zPnTaHAJohQhFoQu1q25DTWSxXUN6N779RcWD6quDuD2/R8nWUCpUJMyyggrnYKiNB0MP8QJ6rhgbVRbgSMh88BfTN 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)(39840400004)(346002)(376002)(396003)(366004)(136003)(6512007)(52116002)(2616005)(4326008)(8936002)(2906002)(86362001)(6506007)(5660300002)(6486002)(38100700002)(38350700002)(316002)(956004)(478600001)(16526019)(186003)(6916009)(8676002)(1076003)(66556008)(6666004)(66476007)(66946007)(83380400001)(36756003)(26005)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: lm4lJxOneKA99eoyLuYTO8wRtQAFFF4b3NujpyfacO6MPUBqgVWiiCwh8uZ6yLedcwrw4yuh8bBbXvwPjlvT/dZGVKQV+1e2FTO1fnkNyglaMqAa2uTqOeGEeVZX7KuJNPGebocrOn5+G719uYBR9x3ST7LMnR1TAEefAf73/9XsthlN0u+uurTFLafNy/LM+pfLeDJ7756Qm0wJZxfCms9ymZ1rFzfTO69vzRhK3T7UOmSlLvUQc0bRIkPJyS2ldBn/Mv7AeN2Dm5adUIggA9O42BrMDvErssXANpo1IYJhHL4Ilh61dOOnFrTmrtQLOjlfUImXfYrpeKeE0d7pagpevWwLgWhsCzUg4KqNAsojy7E2PLbpmY8jHZNdnDfzIkmXZfz3ld8hA6cVZKQ7HtjdL7Yb5u9De/BrwcRwOEUBLyr5RHZDmNwTJYtIYZCiZBwjHlSiX88pM2xZIFyRcSPK6ZfgNpE7p1TROL36kTs31U0kZj6KkHemKNVmDaKZiSmXvC8uSpfkQZenXUAZJOo4yYz3GSx5KJ5I3IEeB1UqIguB3UHCyvLYEN0izWm1f6Q8erRZkzxwjoZAc879grLDhuBDWWaUV/V6TcgxdSZXE8KHir6RgtClnOWf04hgXFfXYMfM5G8FEHgHWChy8Tskk/dd9Kp98i+mArPqy4KLpFgj6l0wD1uPard0I8Ho5TjGMpo5lNZejOmTyPw2BuRzZj57Sufg2zOuCxWpZg/XlJvIlkdM+ltvfnj2KiPxCZhP0Ttb1MMAm+PEqROL2wcDeJDfDRwZXuutbSanfuUyugNbrDs2rL+G1ZaC3corMEbR8d8yZwctKDF4Tzkmw5f6S6+9KSTVCcetS3QA837LYMuqtzGGnkaUxb9+cUHiOA5HnzHPE815oN65jkx3FbJ+8EOdfzrG+2TR7TQI9WkgcxCPC7jndVfZyweJhogQGDgtsuYrqfFh0KQfvVlImkS2v5s1Dm2eDI40zeR9S8MYKaqg3vuD1pLRkJ0o19D9CdIoeiG1u7W0dfsO+tTRwvfygTjKTw5UViyr+CXFO3IlKl5yoACiGlJKi0W9lGv6vXWAA9CA1UFd1r8nZY3B5rTnMdqeVl4aaCY/YvjEUQGFgQMPGRRMEo0SUjpHk3UdnnkeZZ7cqrg/tZDukaGIQBHYTg6uIeCXbHqshkvgjtMmFG61l1cFAE/QJPkIH8R4dRkM4+M6Jo2EQcwsBcJXDjqRbHhqPrZfWFGUycno106ldd8QjxNsh8MOaKpyT3U2L7pyGIJtg9llDSqpevzyQp8BUspWkMO1UtgU6kWgI4x6u0zEMj7lqHMOddrX4cfg X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e1104eb-64ed-43fc-91f5-08d90ee15877 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2021 09:45:26.5571 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QVOo3wRTzUkhvli3P3FELEvmktuusw21yjF9M8DhCp5nw8EetioXmpMpg04KoRtauoF25Lx9yZGk1vAQx8+j/WX3NH+YP7v1DYiQliOgBI4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6152 Received-SPF: pass client-ip=40.107.21.137; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-VI1-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: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" We have different types of parents: block nodes, block backends and jobs. So, it makes sense to specify type together with name. While being here also use g_autofree. iotest 307 output is updated. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- block/block-backend.c | 9 ++++----- tests/qemu-iotests/307.out | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/block/block-backend.c b/block/block-backend.c index 6fca9853e1..2b7e9b5192 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -142,19 +142,18 @@ static void blk_root_set_aio_ctx(BdrvChild *child, AioContext *ctx, static char *blk_root_get_parent_desc(BdrvChild *child) { BlockBackend *blk = child->opaque; - char *dev_id; + g_autofree char *dev_id = NULL; if (blk->name) { - return g_strdup(blk->name); + return g_strdup_printf("block device '%s'", blk->name); } dev_id = blk_get_attached_dev_id(blk); if (*dev_id) { - return dev_id; + return g_strdup_printf("block device '%s'", dev_id); } else { /* TODO Callback into the BB owner for something more detailed */ - g_free(dev_id); - return g_strdup("a block device"); + return g_strdup("unnamed block device"); } } diff --git a/tests/qemu-iotests/307.out b/tests/qemu-iotests/307.out index daa8ad2da0..66bf2ddb74 100644 --- a/tests/qemu-iotests/307.out +++ b/tests/qemu-iotests/307.out @@ -53,7 +53,7 @@ exports available: 1 === Add a writable export === {"execute": "block-export-add", "arguments": {"description": "This is the writable second export", "id": "export1", "name": "export1", "node-name": "fmt", "type": "nbd", "writable": true, "writethrough": true}} -{"error": {"class": "GenericError", "desc": "Conflicts with use by sda as 'root', which does not allow 'write' on fmt"}} +{"error": {"class": "GenericError", "desc": "Conflicts with use by block device 'sda' as 'root', which does not allow 'write' on fmt"}} {"execute": "device_del", "arguments": {"id": "sda"}} {"return": {}} {"data": {"device": "sda", "path": "/machine/peripheral/sda"}, "event": "DEVICE_DELETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} From patchwork Tue May 4 09:45: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: 1473703 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.a=rsa-sha256 header.s=selector2 header.b=TmNy3gGH; dkim-atps=neutral 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 ozlabs.org (Postfix) with ESMTPS id 4FZFPN0J5hz9sRR for ; Tue, 4 May 2021 19:47:19 +1000 (AEST) Received: from localhost ([::1]:36032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldre9-0007kE-8R for incoming@patchwork.ozlabs.org; Tue, 04 May 2021 05:47:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51328) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldrcT-0006r9-Qr; Tue, 04 May 2021 05:45:33 -0400 Received: from mail-vi1eur05on2125.outbound.protection.outlook.com ([40.107.21.125]:31488 helo=EUR05-VI1-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 1ldrcR-0001RP-7C; Tue, 04 May 2021 05:45:33 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cw35bbtB8mF05yOtHdSD2g2XA590ScIY1J1Zi0bRNJY+/vqP2B8bKeQ07ZrMovM6A6+gs4kiyLyZpQr2WyS6G4uaXh7PIMhWvBLK2biIYc+w8c7T6giJhuc5HRsLbgxGetqbEPWwcDFW5tvHi2ousSFy3e3suGcSWAI/NtcegdyGgepRBbXAPZvRmMNBe4tUANlQliLjlECaGNKSbEa/5Il9mSeKBAdkm6eQUoJBwrElyzZ3G5SPvAvOSdFIoXGP7k9OPpxxjaY46zR21jRBQ3K6Or6WCoj1fywdXLqBp+MjkWKG3wOHfa+wU2sOzyUqZ6OpSlf6gMO62X//yenYMA== 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=b+lD9dsyde2gPEXgbkI09VYAPvmNkKEFe5BMnXZKMCk=; b=KjMbUioOxc7NEv1xD9cOQgBaf2N+MxVkuxrw7X2z/IBbETAX3QwKjtC/6kFsusP27aj43HbhEng4FwcKr4y1I0c6snU7vc57CUmv4g70GkAot/N7muqMP4oajt+Fq4gUYPAjYZThDcOpakqBTjNOfaraORRGnv9ci10mHWIFl312SSaf/zxFmttTZcFZRLQtS7X6SF/A5fmWchx4mzCK7rey+vqfpWTRGIJ92Hnzw1n5Dx7odBVYuT8dZNjRJTRtcz/Sq769YV1SqhzspFTIqehU5NscWsVVjO/g6LKqkwGsiD9yinAX95D8+6qOZ33RDIdbHm/wprbfAq9lvZYIGg== 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=b+lD9dsyde2gPEXgbkI09VYAPvmNkKEFe5BMnXZKMCk=; b=TmNy3gGHdoQE+twb57F+cAJIbbj7778tFYs3UIPSbRiBeJkeCPtoyQMl+CbuHFOvhLXIkQMfFZFfZ34xC+qVtiSHTqXMSbvg2iE++R+SF8eljcgv8I6deRZdJmy3QNv3oCfKzGQyvTGuh60F1JewAxSh41COpGOpUxGrwOYdVCc= 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 AS8PR08MB6947.eurprd08.prod.outlook.com (2603:10a6:20b:346::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24; Tue, 4 May 2021 09:45:27 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.024; Tue, 4 May 2021 09:45:27 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com Subject: [PATCH v2 3/5] block: improve bdrv_child_get_parent_desc() Date: Tue, 4 May 2021 12:45:08 +0300 Message-Id: <20210504094510.25032-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210504094510.25032-1-vsementsov@virtuozzo.com> References: <20210504094510.25032-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.251] X-ClientProxiedBy: HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.251) by HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24 via Frontend Transport; Tue, 4 May 2021 09:45:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: be0a86fe-0da9-4c92-d7e8-08d90ee158ff X-MS-TrafficTypeDiagnostic: AS8PR08MB6947: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HA7ZpT/7/3AvSwrsuhnw608E4rD9C0DV4O8zUSNaS46+3pr9WJsuuDLhRWFTO3RxO5r4F5U5VQ7J+UH0Yo+nFsMyvIps+y1TgdDT5wWg5DFR1iiawdf6CTqUJRXjy/swxmuA0XrwD7Q3PZrvKJyGhKMY108hBrYUgzw7thXUGFiiDDIiAt7e5z1to16W/yMMQ7uIInlt+6XSNvM3Hqutg+VL/aE6E/Autd58nYDQd8zczB+mussXvitOYlLheU3ytY87FA49Kg53YLBMA0X+UHxKJ3yNJJvCtzaFCy/+nJ0lLL2F8qnSBn4CADph5+fmHzB5OYOs7AFssLpZbTe+EI5iZeO/7KUB/iJ/e6o3nmR6J8vxMgqkQHQUAKDJ2JGQRwKfsWlsP9gjd5xWz3hUtA0LDfju5rd1gN2vXj0W4gLcV33CLOgDyJnXWDkUAtYV7Ahu7XVQ+B2fGSD1hmZGyG2EHK4sNKXKttql/ODrIiGKmQuZGQQczBFoeLV9grq1h5hormIiMyyjFdinZeuOxFiTqnUhc3u9LYC9iJVmlqspQprq444+DbZDyIcTxMvPHqURaIG5v8lT7W5LHX+TywtxvQ5QXDPfrCTf9Rq00NivZAoO19NQzn5oAuY1R3GSyd2nXL5zZ0DRSxUragdOnKWDTygVrtv1Zcx2+aefGQwk/seksK8bd6sXuBFWNos1 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(376002)(366004)(346002)(39840400004)(6506007)(66946007)(66476007)(16526019)(52116002)(36756003)(83380400001)(6666004)(186003)(6512007)(86362001)(38350700002)(38100700002)(66556008)(478600001)(4326008)(1076003)(5660300002)(316002)(2906002)(8676002)(8936002)(6486002)(6916009)(956004)(2616005)(26005)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: o23YKlp96sSEG+Ky7Pkl+ujJkqMTKZWyyANhk/aVveJ5cgjrQiBxT3ubSD2AylQreMcgp37VMCWryVtJW0+CH+sMUlBHKeq1ECwFd1QzVvSDzRGpYkA5dqF39IUkG2RXKfqws5eNOsYnBTc+AnHPlFeYGoQ+7M0WSGEGedV8PNOO7USBTFz8Afhbh/WFROOxVp6+VyHfsUTjup0OGTsJdVPQfibJQ/jF6G8ezd7iKc1aOiFwFSefSqf9bYZhYoT+PlDOpdeanwtQTCRZvK6ZYzcKOIul7Y9aFp9TPzf3cuL5aSLDlVZ8mD8wgMbfQbmOZL4VoTFFFiRltB91R2PiDdNcLj8ZhqIVTqrrKVIWSPe6gbyi+b/ZN7MUR1YZEvIkwZVRCQ0rhMEpSTVxB+WGm6zscDaMn5hIyHCUUCyFM91RhgSQcfMQmj+R+XpJhWGYHEMjxz+oc3w7t9BT65oIOO8eUcT7u/bzb4N56gWg0WilqCfNgM/EdItweZMZlBBw0pCYTCpxTPsQRmJyza6xPIbtdEHhxc09AkVnQtywpGjSwUbTZ1Ty1gFAjNzTTPL4HIv5mJw+vNS15HA9z61rDIA20YSf6LKJJRDhvbG3ISLBhpxMmqGsjV9DvBs9ojLUYn8KJbtClOXemXKk4xQ4uXRrEyfuqXvwkwRrHmH6ThN28S78jPj5B9klnPxmXZAePzrhMAiIRfBXD8z15JeyhicYSP/fKlxIMilV4DRtqCUXvYNR/MPEXAeF1GHOQ1gxNEi/b4Be/nzPlCxn8gaZgx1FljQTZWGpC5X/C8y4h35qPeSmiDSp127hGx867uhe6x0WbweBS9pKsHPd+e2cYMis4pFuJpmstetRxaF3+zzar2akh9ElRpxGkf3NMfxDxbXarDImS1JSa+IGAMDFRYLPcYjVntTiq4096LdKwTwBhXjg1QufdZKQl3bYhTPdP8Bg5HlHRdANVA/6CEVgfBnj2zO/iyGtRLZLZA5Y+l5DeExdxNz9/LPRkfk1vfseNcSB4e8LPK6WLFKFErV3n43rnKY2tdQFg9Btjj3kTO3HpCqoRco8q0W5w5n+N+lV3lu0ndjhFQNiKsaI9rKJ+U7/W2Cl0o8kjrtkTZY6/1avo/OW2sFmyQeXtvoqfeLbz6j59gzZ6AISDXxoda7S0pc9Rg4ZE5EdxKy+MoG7DDamnEhipeGkAbe3a3xM6ROmFLRU+fEWc16ifhNlmkj0/2etJMYyOmk21lnd+JuLbIyCbpIiCIjJ52AbZgrTLTc8Rf477242giCCMBJDCY0F/BSzh40rJylf68659i3T0j9FUnt4rlz6tplkZgVa5C1O X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: be0a86fe-0da9-4c92-d7e8-08d90ee158ff X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2021 09:45:27.4283 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kr551PZMUxWOGrLYA2V1H36EstMHeZEOkmicZuKO2ou2zuTti8lCovvFh39PqpRyLRwFjrlN01/T7yh9OB16X3Zdo1v6bq8QHkU/s6cS0qU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6947 Received-SPF: pass client-ip=40.107.21.125; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-VI1-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: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" We have different types of parents: block nodes, block backends and jobs. So, it makes sense to specify type together with name. Next, this handler us used to compose an error message about permission conflict. And permission conflict occurs in a specific place of block graph. We shouldn't report name of parent device (as it refers another place in block graph), but exactly and only the name of the node. So, use bdrv_get_node_name() directly. iotest 283 output is updated. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- block.c | 2 +- tests/qemu-iotests/283.out | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/block.c b/block.c index b9df90d61d..54a3da9311 100644 --- a/block.c +++ b/block.c @@ -1152,7 +1152,7 @@ int bdrv_parse_cache_mode(const char *mode, int *flags, bool *writethrough) static char *bdrv_child_get_parent_desc(BdrvChild *c) { BlockDriverState *parent = c->opaque; - return g_strdup(bdrv_get_device_or_node_name(parent)); + return g_strdup_printf("node '%s'", bdrv_get_node_name(parent)); } static void bdrv_child_cb_drained_begin(BdrvChild *child) diff --git a/tests/qemu-iotests/283.out b/tests/qemu-iotests/283.out index 97e62a4c94..c9397bfc44 100644 --- a/tests/qemu-iotests/283.out +++ b/tests/qemu-iotests/283.out @@ -5,7 +5,7 @@ {"execute": "blockdev-add", "arguments": {"driver": "blkdebug", "image": "base", "node-name": "other", "take-child-perms": ["write"]}} {"return": {}} {"execute": "blockdev-backup", "arguments": {"device": "source", "sync": "full", "target": "target"}} -{"error": {"class": "GenericError", "desc": "Cannot append backup-top filter: Conflicts with use by source as 'image', which does not allow 'write' on base"}} +{"error": {"class": "GenericError", "desc": "Cannot append backup-top filter: Conflicts with use by node 'source' as 'image', which does not allow 'write' on base"}} === backup-top should be gone after job-finalize === From patchwork Tue May 4 09:45: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: 1473706 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.a=rsa-sha256 header.s=selector2 header.b=TD5I9vnq; dkim-atps=neutral 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 ozlabs.org (Postfix) with ESMTPS id 4FZFRJ1tRMz9sRR for ; Tue, 4 May 2021 19:49:00 +1000 (AEST) Received: from localhost ([::1]:42928 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldrfm-000289-9x for incoming@patchwork.ozlabs.org; Tue, 04 May 2021 05:48:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51360) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldrcW-0006v4-Q9; Tue, 04 May 2021 05:45:36 -0400 Received: from mail-vi1eur05on2125.outbound.protection.outlook.com ([40.107.21.125]:31488 helo=EUR05-VI1-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 1ldrcU-0001RP-87; Tue, 04 May 2021 05:45:36 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SclTk+VkFfpetcuu+VJ6vhXWAzrMHaSJRbOpODvoTrr34fktVZiEeVUbjdZH1wyxo2ybSOnQdX2Mx0q/VvtOXVf5kNtBBOt1cxp7MVHMDqYOt6lgU0fV/awcKAicYFPwfpzmHYipbJAV0akOMk1sAYLlLx9ZmtSmy5RKv0vCq/HzYQ7klmeQqP9FA016OC9EUTXpkuPvR27RvDNS/omCeBTM46f+jFdPSBt7PLFrFEJgB/6aYKrK7g5kF2h/j5qBy0gow+dbQB5UXd7iyE5VBEpKrxpEckkblre+n855iYWdkMNAMaexrM4sVFh1WMzMCKKtWIDzoCDNWmw8w2cjbA== 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=2hhSFkrAqW0yMvUxJpy40QDVG+y88h6pemFJZzGMVpI=; b=TU25NL6YTFRxqR0ft3wgT8q0ZI40TOmEaXVMxu0pAzK+90wHPHcsWVoeObvneI+2FdVj6WVIMf7xndbAOUu3iX4B2T0sX3Va99J5e64xwNV22Y8cEsHb429e58Yrvofhezpj9IVhBGeEE4UsGxzREjy3ZEMe9yKj5tN0pMGF2AeE8absfwQd4aNfrdGx6M7krdCaUqob9UG85VTpgtYg0iJ6U6PtXjrtuBfjijid52UDPTKzMJ1lN3j8P9WX2ischfYdYmr1LOiaB8jvyqixCso6fLNiZVAEhRXhzAHY7qrkpyMUs953ik81dhGHwODJiUBXTnOGjs29p+vqkXrMcQ== 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=2hhSFkrAqW0yMvUxJpy40QDVG+y88h6pemFJZzGMVpI=; b=TD5I9vnqIhEjE43Qk65cUD/Dk7rDuLfXwWo8d/QM8txr/q3UbePXjSnCA8Bso1fAOtHkHScbjOKhRYY1jA1fSheAslM5RE7juRPjfsXE8DZJmYcJxLdAv5hkfm2bPHM8sHut+ju7SS597HMzp9gUmDS5leUhGMQtNJ5c9/UB04g= 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 AS8PR08MB6947.eurprd08.prod.outlook.com (2603:10a6:20b:346::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24; Tue, 4 May 2021 09:45:28 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.024; Tue, 4 May 2021 09:45:28 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com Subject: [PATCH v2 4/5] block: simplify bdrv_child_user_desc() Date: Tue, 4 May 2021 12:45:09 +0300 Message-Id: <20210504094510.25032-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210504094510.25032-1-vsementsov@virtuozzo.com> References: <20210504094510.25032-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.251] X-ClientProxiedBy: HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.251) by HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24 via Frontend Transport; Tue, 4 May 2021 09:45:27 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6aa0207c-529d-4210-ed16-08d90ee15984 X-MS-TrafficTypeDiagnostic: AS8PR08MB6947: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:238; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eF/YWXWFOh8UlnXUq35g0YuKjBqunkllWH4OiWksSBiFHBGRpEYdR5KIfUV3ZBjd08rsOoaG6Ww1rxVIA7Vs0xDxJOXuZEZDtiyucbk7GKKuon7tYB3Mw1a+VJcgQ8YrataFlgZLzDB+vm5xwg13m6fEqzgm2QVRyHLuHBPNaEs0T5selyYVRtlPrJWSYpRr3foPCYFkJ4k8BANoUFGdU2017MGHBPoZd1P9ZMFBVxhRlSeywADmPcr9TVJ9zhiqN+Vy+YsaQ4YR4drl3bmRbSJWJ/XWtEBug3UA/rHbxyasA9gmPuVNa6MJxITxyc34h1XUbINOTNl6LgSE7BXMy8JQugyhU7JfFn+oSbvHW9tULnz+fqnw4u/W1H39cU/6csWPeQSc2Et5hBFlon/2i4GuUVRlQCSlZO0KdMYrn5mTFLPdMyTpjVrMcmlyTbniw/0SMUyfdve7UyR3OJneQojzqca7PvfC+T7/29gC3xyByFp6wPNw1I5G5WkwuELj2kh1z+XYF8CB8DWnUKXmJCfJESe1yUnpak5zIoh6gWS4OvHl76AwvFHHM6T2+QtzwPx+/cDokmrjCMuCydDoWpGZhiD7ZqMrcrO8/RUOq8uw9ZPkZqFT76ItE2ISWwS5KDy4LuI82raqM6q+W06m8T//fQ9T0jrVgQ1b+hWdBpxa8dI3HoXCguvADyMiXswK X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(376002)(366004)(346002)(39840400004)(6506007)(66946007)(66476007)(16526019)(52116002)(36756003)(83380400001)(6666004)(186003)(6512007)(86362001)(38350700002)(38100700002)(66556008)(478600001)(4326008)(1076003)(5660300002)(316002)(2906002)(8676002)(8936002)(6486002)(6916009)(956004)(2616005)(4744005)(26005)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 21jD1piUmuF/CDnM75a9qbUuLCrPXQuF0kYN9vAXkvcJFG38RRrXTemkXCeKNZHRi1Pq2ncsxzuvmBXCzuE289NXqi1Ujpyc+m0H4fWl9h/ZFIcPnzcro0AvgDz2ihnfsPGkh4TbKD0NMPeAQsg+3AhfY+nskeIKhofMmGUiwhohMOyZlp/pwxMzxedocmXpm+X67oW8B8djSFSoCUUt85e1oeDDYvTGFqjT4x2FvGCo/6zm4hjx10NdHF72jC6NOJ1OL+KyM7QP5fxZ4qx+G1+wBzSPr+2Tcyf4khQMNJCvpPI26Ked/tZvZ/MH9s5xTap80BhPranBFnpcM39YJwsXOHsyHnzKsJqlzBBd8ClyMey67NvqximYXjvmyMilf44qwWTkaD4g8dl/XUvO53Xmq8+liPGrsQMjN5GRkVRzAOFIJ0JP5fHPUQFEuOvkIq97phTUE4mT45iDcKjS6JTN7RjSVzHrcpMZsCWguL5yRFzDD/FEIusLJiJmiKhlWm4nTComKPcRYYSFeal3pT4tKbArPm98aE/fY2T9XTKNyxG+i9wI0QAOMTRpJ7eY/hFrPDlhPtN6MqbyTyEiZ5PMY4ujLM2n8l/jq/A4JRst2voNUXo3EBSTXYVsUQGfTwKH73a/xBlcPTR+Y15Q3SwZW0oEtdQ5ORBIB2lqaTYwhsp8MbZHeJ2vO+SUFh+K9ye4eRaze77jxEk35Q9vOrXpxEW35sf14E2GgfwzDecW3htJbTJnMTN+CI6THYrDtuQMpTLs0XC4cwaN1LcH9E+aUiRC3p78kDDJTyjdNeQ5c4LvL0zrkRsWr1GoUD9R+0GkXf23N1OQqEE3m4Riw3ATl6Z+Ci9TLt5qHVj4kUZoglqkBOEV3s02kg2LGkIDQtSYR2fTy2jgkDgHNzFRkfMa/5rGSJgmPTSzeFnql6cg9zKZhOv1DyLR6qHsVTV3mc1eR3AGsrsf7BfASvrotWBdYrjOiudmtiwVjJ2I155IkEDTdwC0dXHb8W0X3wr6XQaCxcdFVrYMDVaknvxLX6ho9Kuyjc0o2QuWNov+6MzOnjvAlPscmPpGuI4Kzapx60r9zciXGBGR6hUhfSiwBhDm3BKzn+V+6h6QKZV5j1OI+NIj/RtqCrp/x+BFkU66/4LbFP2Z7F9We9n62Vm/f/6MA7YW74MV8k0VD73cjX0VzcuFOwAIyUj7XsNHZzK4OQOm+qcgrMjXZmVR8xvZHiy+tl6r5Ruo5bmGQn6898aX8m+phkGIowRJNP7Q0r0ZNExpaa1k3C1S5l49qy4g1XBznxPZlzuBNpbdKUw7ijfP64r3DznSCiywrpwkWSJY X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6aa0207c-529d-4210-ed16-08d90ee15984 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2021 09:45:28.3841 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5JYOOkf2TUeSMiBVhY3UKuaXX70x8AaUnfZ8yurEeFklxAJlCOfTsZYO+C16wx4KzjnbryxUNqleCao0kdYevhD3zG/l31sB5ENzrXI9KRE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6947 Received-SPF: pass client-ip=40.107.21.125; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-VI1-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: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" All existing parent types (block nodes, block devices, jobs) has the realization. So, drop unreachable code. Signed-off-by: Vladimir Sementsov-Ogievskiy --- block.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/block.c b/block.c index 54a3da9311..2f73523285 100644 --- a/block.c +++ b/block.c @@ -2029,11 +2029,7 @@ bool bdrv_is_writable(BlockDriverState *bs) static char *bdrv_child_user_desc(BdrvChild *c) { - if (c->klass->get_parent_desc) { - return c->klass->get_parent_desc(c); - } - - return g_strdup("another user"); + return c->klass->get_parent_desc(c); } static bool bdrv_a_allow_b(BdrvChild *a, BdrvChild *b, Error **errp) From patchwork Tue May 4 09:45: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: 1473702 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.a=rsa-sha256 header.s=selector2 header.b=PX8riebd; dkim-atps=neutral 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 ozlabs.org (Postfix) with ESMTPS id 4FZFP21RwDz9sRR for ; Tue, 4 May 2021 19:47:02 +1000 (AEST) Received: from localhost ([::1]:34516 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldrds-00071L-5J for incoming@patchwork.ozlabs.org; Tue, 04 May 2021 05:47:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51378) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldrcc-0006yV-Tp; Tue, 04 May 2021 05:45:43 -0400 Received: from mail-eopbgr00109.outbound.protection.outlook.com ([40.107.0.109]:61086 helo=EUR02-AM5-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 1ldrcZ-0001Xl-6t; Tue, 04 May 2021 05:45:42 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CMfmTMEHNRX6j3J+oiMZM2EHMmwX1aWVVE7BkDI4O5XDI7QNJKkCrHn+dUWg/raZf2QI9iqtFDebduFeI9jEeYU/sPsH3x5YL8dTdorC9u7L3SCGQ2yZiRiev6MRzdYcxQxz+zeQQrse6OiSfJoFNnWc5E1OwW7wpJmdbUe1cOrXwhxAFshH9qZQrCE986zHX9HF/y6kgwyvdpm1duJTVlGvgDs2kBlTR47uLVwo3is0NbDRKFP4wfpHx0EF361cv1Q9YJcaNNrZtHkzeTZCFGocxiSdehN0cHQhqQQIbkrF+VYOzV6NViidk/icHV9FWO8jent8CIecx+QoJW7qDw== 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=/OvbAEACRnaVoGw9KkxV2qLMM5Yh4YimQFkpvJb3EBU=; b=FWSxfHY7Mb90YRl7uFi+5gkaYGRN3VvH+Jva2aXifhUXNYJGvT8U0s8hQkSIqefwE6h4vuwzTADg1Ddi2Jp6KAnWxVVsX28hj04syNznkkL5wQkk3y5hQBqaHkSnl3mQQCtNgoA4oWlTlD0atx3v2ABsn28E8wQwrxn6JwEshhtmuNph1pq1RSUzKtseH32u/IprafC6hWOMwpH0sCsnETakAoUBA5MthBIChWcmRUI1voHHhfunppPuXrZGLkn9avJcaQfs8F7TYSK/2tdkAOfulurvnPTfabJKDJrpLUnskXSvIJ2gDelzlaalla0ldUnkrHV8DL6fGidJfTSb+A== 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=/OvbAEACRnaVoGw9KkxV2qLMM5Yh4YimQFkpvJb3EBU=; b=PX8riebd7XTqVbGQRRaSdZ4IElfHgirjz9BVNhJ3f2DdzXm1vFt/X5aZGYbc8CwhaICNzYf6mcABNcMiX00W2O5ujGeAcxTGT/Fu0tptL7XqxNSw/hxv1WbgXMswRe6zaTYTyO7eWCncwSLpJ70FqEdGpWqF8WDKVfjAJ1TbCrE= 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 AS8PR08MB6947.eurprd08.prod.outlook.com (2603:10a6:20b:346::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24; Tue, 4 May 2021 09:45:29 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.024; Tue, 4 May 2021 09:45:29 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com Subject: [PATCH v2 5/5] block: improve permission conflict error message Date: Tue, 4 May 2021 12:45:10 +0300 Message-Id: <20210504094510.25032-6-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210504094510.25032-1-vsementsov@virtuozzo.com> References: <20210504094510.25032-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.251] X-ClientProxiedBy: HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.251) by HE1PR02CA0107.eurprd02.prod.outlook.com (2603:10a6:7:29::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24 via Frontend Transport; Tue, 4 May 2021 09:45:28 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e4efd6d2-ec4a-42d2-0ffa-08d90ee15a1e X-MS-TrafficTypeDiagnostic: AS8PR08MB6947: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:229; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WdsOhWh4y7LHJJHJKH/aBHd92cCXYl6uHIZqZBd928U8eoGC/VkZ8WbhuaSRoX8KPMkIwnYrV4HZS3x5T0cj9YIvQiWqhM5vKzbBIXp4PGqS2C+6mLB7YfI0JovYW+REfPb61rwuCLzOr1rCV5DD6HXTp93iwfElTrI3MYgXMevLM55mqfsOJ6nVDIf8/nG+CcmttvDigkRHmwMB4uuNbngplxdnij5YodbpyoB7K/wCK5TTcJh7cWbDI9rA1WvYcdY9NREGiPEsOdH+iRaJsND0EvYT95zN383IqZ1m/JMKjc/6oe6h8T8iexA+iGAcHstig8O57pILMF2qfjclftILljBpw87TiHBUTh2Bu+Qfy3OFYYJ7jVvYqVLMYPOSdDdD64wrhXds1nGixR+izOjUJgvIh1FUOCtkaHZUwuLDJjX/7O5tLjWOiJa74HQ3IR01F77h8ATmuZuavZXJ4OxxDXqA87GC9ysvOPaev4XX3WzVHGCTlJ1XoGvXl0rUxcmKt201NBAJPXa3ENLL6n9WohUbUbylYVqoZ+51usLpsQR8xi8kf145PlBFtHQ8RsWZHeR3LHKWMG6+Qjdf47rBZXwakR+aUOZNsLMp4mTWxoCrGz4zyCqRolRpjd9yXsV2uyM+nAlaSiW0H5NBvwdKj3wfs4yu19rohNxTTbtynbNbd4m7ck3cYd4Skk4K X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(376002)(366004)(346002)(39840400004)(6506007)(15650500001)(66946007)(66476007)(16526019)(52116002)(36756003)(83380400001)(6666004)(186003)(6512007)(86362001)(38350700002)(38100700002)(66556008)(478600001)(4326008)(1076003)(5660300002)(316002)(2906002)(8676002)(8936002)(6486002)(6916009)(956004)(2616005)(26005)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: nihas6wYcOuEgXz6E+s4gI6OmMZ90rXIa5qjcEribsUw1Fwu7frAnIrxpOpgxbDRoGHzEFMV+6wrGKO0oHwnsiWYkzXz9eI+FvuoVeQm1TJuuHTI4O8gttOhMzrjqpmSz7x2q7aX3IH7Gn8/N6iOG31sgy7TiF6oVUw20guhiwi78sB3cHnUJ1ZIRQDBavtxN3AsyOsdVLzPhnCUuVDkRJp2hII3V/XdygMftgI9EKtHxazdnXHwt4eb52r1A6Xd/gvMG9oG9PXqkRh+HMEPv4YcnjyPTMbBYodjPDcq/cdak0NaARWwpXwfCiFAQf2TKMnR9t6Ab6OIPEEcOGwjekxiVUBKmuSCLQyPqJvgty9E1Cz7qqoOxfNIqXjTy6vJRu4SwrDEmoWlcZmEc8y8BSUPTfvQ9lOrbc0kcgFgbpOYMajPa/IyfBezkCMliv2U/ws6lph7V1aRalWdVmdLwOVm2tAOKu/s5JpBL8o3V83KLE8EXl3XwYry+gjnTU1PhhrlXqedXp9TVnlE+TNsLvMUvc9wdCep+2KQrsNmVOMrlqFgRwTUQ5/WOS66uVM6n3dFOcCIHkFQQ+q7nMSs4B0anmOWQTzQO1mTQLYmE9h/bKqBdxge/0h/8/0PS3FK6IfuMIRYNPwzX9l2sI3iIdFsQ6x1jjPrLSzqZQtxyQfsiFx/eYmvinwkCDDDImSea5YJCjhMf9Px4YZIC8UGtFSD9wQyIKhyUFagRGk0M6G7/tWpCgz1sUZEvnyvZDS1L5bXachoOqq0Y93KtAUaTqw0ACwjp31TLb6nxBJTFMSPLrhAbakpMajDsv/0Y6eLLgSyvR43JCbSxyHkmE6q/ZIm9pq9PxRnvjlH3+KJecedXiA7S+8qTyzAMBf9BknJgzB9YTbSX4a+ZqlzS86D4a7e0Y62mPYjn4J5+/oh5yMuzrbrh7wIFQv3QpDnV0iEeqdLBkuYF+5+x8jUm0Tx0q1JXXAeyw+c3AOx3p4rsddDdEKJUJxx2IsWlPyT5LPQtb4yPgK7fyykYQvmURkr6WszPWzyELKqipNE8eP9lP3++9A2bKdd4SbWgPPmyViBAfI8KqS8UYE513QPVocIvKlDEtrspk2hM0L13lRppUqiSrQAGTudL5wiSMSEpU06Qat5nfhKaIejIzjpd0S+Ife1DRies2Mgp9vb6E8xw5N1Hh6RBOoVOOfKReED6PK4koD/3EnzD1laAHlmD2oRtZf92bWa93JEqCtEEl4jA8qU6ffBR2inrkA1bVRx8UBZq6absEfkc6SKFdSb0CFujQrJvo4zXdYMozzFM1JgnVehFhw9uuMGcWaGgsrb42wd X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4efd6d2-ec4a-42d2-0ffa-08d90ee15a1e X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2021 09:45:29.3598 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 93Zk06YyhECKgZCGnHbUcCJkoEY/attQzA7Ktn7zKBerx360F6SuYTeqbvPIb+KVaWco1EW7Ae78wVvQb20yqbL7rx616NPRZIdCf9PRq9c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6947 Received-SPF: pass client-ip=40.107.0.109; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-AM5-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Now permissions are updated as follows: 1. do graph modifications ignoring permissions 2. do permission update (of course, we rollback [1] if [2] fails) So, on stage [2] we can't say which users are "old" and which are "new" and exist only since [1]. And current error message is a bit outdated. Let's improve it, to make everything clean. While being here, add also a comment and some good assertions. iotests 283, 307, qsd-jobs outputs are updated. Signed-off-by: Vladimir Sementsov-Ogievskiy --- block.c | 29 ++++++++++++++++++++------- tests/qemu-iotests/283.out | 2 +- tests/qemu-iotests/307.out | 2 +- tests/qemu-iotests/tests/qsd-jobs.out | 2 +- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/block.c b/block.c index 2f73523285..354438d918 100644 --- a/block.c +++ b/block.c @@ -2032,20 +2032,35 @@ static char *bdrv_child_user_desc(BdrvChild *c) return c->klass->get_parent_desc(c); } +/* + * Check that @a allows everything that @b needs. @a and @b must reference same + * child node. + */ static bool bdrv_a_allow_b(BdrvChild *a, BdrvChild *b, Error **errp) { - g_autofree char *user = NULL; - g_autofree char *perm_names = NULL; + g_autofree char *a_user = NULL; + g_autofree char *a_against = NULL; + g_autofree char *b_user = NULL; + g_autofree char *b_perm = NULL; + + assert(a->bs); + assert(a->bs == b->bs); if ((b->perm & a->shared_perm) == b->perm) { return true; } - perm_names = bdrv_perm_names(b->perm & ~a->shared_perm); - user = bdrv_child_user_desc(a); - error_setg(errp, "Conflicts with use by %s as '%s', which does not " - "allow '%s' on %s", - user, a->name, perm_names, bdrv_get_node_name(b->bs)); + a_user = bdrv_child_user_desc(a); + a_against = bdrv_perm_names(b->perm & ~a->shared_perm); + + b_user = bdrv_child_user_desc(b); + b_perm = bdrv_perm_names(b->perm); + + error_setg(errp, "Permission conflict on node '%s': %s wants to use it as " + "'%s', which requires these permissions: %s. On the other hand %s " + "wants to use it as '%s', which doesn't share: %s", + bdrv_get_node_name(b->bs), + b_user, b->name, b_perm, a_user, a->name, a_against); return false; } diff --git a/tests/qemu-iotests/283.out b/tests/qemu-iotests/283.out index c9397bfc44..92f3cc1ed5 100644 --- a/tests/qemu-iotests/283.out +++ b/tests/qemu-iotests/283.out @@ -5,7 +5,7 @@ {"execute": "blockdev-add", "arguments": {"driver": "blkdebug", "image": "base", "node-name": "other", "take-child-perms": ["write"]}} {"return": {}} {"execute": "blockdev-backup", "arguments": {"device": "source", "sync": "full", "target": "target"}} -{"error": {"class": "GenericError", "desc": "Cannot append backup-top filter: Conflicts with use by node 'source' as 'image', which does not allow 'write' on base"}} +{"error": {"class": "GenericError", "desc": "Cannot append backup-top filter: Permission conflict on node 'base': node 'other' wants to use it as 'image', which requires these permissions: write. On the other hand node 'source' wants to use it as 'image', which doesn't share: write"}} === backup-top should be gone after job-finalize === diff --git a/tests/qemu-iotests/307.out b/tests/qemu-iotests/307.out index 66bf2ddb74..e03932ba4f 100644 --- a/tests/qemu-iotests/307.out +++ b/tests/qemu-iotests/307.out @@ -53,7 +53,7 @@ exports available: 1 === Add a writable export === {"execute": "block-export-add", "arguments": {"description": "This is the writable second export", "id": "export1", "name": "export1", "node-name": "fmt", "type": "nbd", "writable": true, "writethrough": true}} -{"error": {"class": "GenericError", "desc": "Conflicts with use by block device 'sda' as 'root', which does not allow 'write' on fmt"}} +{"error": {"class": "GenericError", "desc": "Permission conflict on node 'fmt': unnamed block device wants to use it as 'root', which requires these permissions: consistent read, write. On the other hand block device 'sda' wants to use it as 'root', which doesn't share: write"}} {"execute": "device_del", "arguments": {"id": "sda"}} {"return": {}} {"data": {"device": "sda", "path": "/machine/peripheral/sda"}, "event": "DEVICE_DELETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} diff --git a/tests/qemu-iotests/tests/qsd-jobs.out b/tests/qemu-iotests/tests/qsd-jobs.out index 9f52255da8..b0596d2c95 100644 --- a/tests/qemu-iotests/tests/qsd-jobs.out +++ b/tests/qemu-iotests/tests/qsd-jobs.out @@ -16,7 +16,7 @@ QMP_VERSION {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} -{"error": {"class": "GenericError", "desc": "Conflicts with use by stream job 'job0' as 'intermediate node', which does not allow 'write' on fmt_base"}} +{"error": {"class": "GenericError", "desc": "Permission conflict on node 'fmt_base': unnamed block device wants to use it as 'root', which requires these permissions: consistent read, write. On the other hand stream job 'job0' wants to use it as 'intermediate node', which doesn't share: write"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_EXPORT_DELETED", "data": {"id": "export1"}} *** done